【问题标题】:Generate SQL script to create or alter table / stored procedures生成 SQL 脚本以创建或更改表/存储过程
【发布时间】:2016-07-04 17:00:21
【问题描述】:

我正在创建一个 SQL 脚本,它将检查对象是否存在的天气,然后根据它进行创建或更改。

if not exists (select * from sysobjects where name='MyTableName' and xtype='U')
    create table MyTableName(
        Id int not null,
        Name varchar(150) not null
    )
Else
  --Alter

现在必须为拥有超过 150 个表的更大数据库执行此操作。

有没有什么方法可以为表和存储过程自动生成?

【问题讨论】:

  • 我不明白。你会每次都创建同一张表吗?还是每次都将相同的字段添加到已经存在的表中?
  • @Shaharyar:基本上它只会在第一次创建或在不同的服务器上运行。否则改变。主要是脚本用于存储过程,因为它们经常更改
  • @mrTester,我想说,如果您希望为 alter-tables 获得简单的解决方案,那么您就有麻烦了。对于 SP 来说,实际上并没有什么有趣的。
  • @IvanStarostin :这个想法是能够在需要时一遍又一遍地运行相同的脚本而无需进行修改。
  • 为什么?你想用这个解决什么?真正的问题是什么?

标签: sql-server sql-server-2012


【解决方案1】:

据我判断:您的问题已经包含分析器 - 不,它不能完成!事情是这样的:你可以假脱机表的元数据等。如果对象存在于环境中......正如你所提到的,情况并非如此 - 那么函数/脚本/过程应该如何能够知道哪些列等. 必须为哪个表创建?或者如果表已经存在,需要改变什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2021-05-02
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多