2016-07-04 52 views
2

我正在创建一个SQL脚本,用于检查天气中是否存在对象,然后基于此创建或更改该对象。生成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个表的更大的数据库做这件事。

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

+1

我不明白。你会每次创建同一张表吗?或者每次将相同的字段添加到已经存在的表中? – Shaharyar

+0

@Shaharyar:基本上它只会第一次创建,或者运行在不同的服务器上。否则改变。主要是针对存储过程的脚本,因为它们经常发生变化 – mrTester

+0

@mrTester,我想说,如果您希望为alter-tables获得简单的解决方案,那么您遇到了麻烦。对于SP,实际上并没有什么有趣的。 –

回答

0

据我可以判断:你的问题已经包括了anser - 没有它不能做!事情是这样的:你可以假脱机表格的元数据等。如果对象存在于一个环境中......正如你刚才提到的,情况并非如此 - 那么函数/脚本/过程应该如何知道哪些列等等必须为哪个表创建?或者如果表格已经存在,必须改变什么?