0

我有准备好创建数据库的脚本 (.sql) 文件(创建模式、过程、添加测试数据)。

我还针对这些脚本设置了编码标准/约定。

例如:表名不应以“_tbl”结尾,所有 SQL 关键字(SELECT、UPDATE、FROM)都应大写。

是否有最好/最简单的方法来重命名这些(根据我拥有的编码标准),这样当我重命名数据库对象时,引用重命名对象的其他对象应该自动更新为新名称

找到几个链接来服务这个。但想确认这是最好和最简单的方法。或者比这更好的方法..

例如,如果我重命名表中的列,则引用该列的任何存储过程都会自动更新为新名称。

注意:如果 MySQL 脚本工具与 SQL 脚本工具不同,请评论它

提前谢谢了.....

4

1 回答 1

0

更改列名不会更新引用它的存储过程。

CREATE TABLE t ( v char(1) );
INSERT INTO t SET v='x';

CREATE PROCEDURE p() 
  SELECT v FROM t;

CALL p();
+------+
| v    |
+------+
| x    |
+------+

ALTER TABLE t CHANGE COLUMN v v2 CHAR(1);

CALL p();
ERROR 1054 (42S22): Unknown column 'v' in 'field list'

视图也存在类似的问题。

我认为最好的选择是使用文本编辑器编辑 SQL 脚本,并搜索和替换要更改的所有表名实例。使用文本编辑器手动更新所有实例。然后运行 ​​SQL 脚本。

于 2017-09-04T20:08:43.927 回答