我正在使用Microsoft.SqlServer.Management.Smo类为存储过程,表,视图等编写SQL脚本。我这样做是为了将它们放在源代码管理中。
如何为存储过程创建CREATE脚本,如何为它们获取ALTER脚本? ScriptingOptions'属性中是否有设置/选项?
答案 0 :(得分:2)
然后简单地使用。
foreach (string line in script)
{
string l = line.Replace("CREATE FUNCTION", "ALTER FUNCTION");
}
塔达。 :)。
答案 1 :(得分:1)
似乎没有ALTER脚本的设置。将ScriptingOptions.ScriptDrops设置为true的属性将创建drop语句。这样做的缺点是必须重新分配权限。
结束这个问题。
答案 2 :(得分:1)
答案 3 :(得分:0)
我在比较服务器时使用它。 toSP是SP的文本。如果“TO”服务器上没有,我执行Create(),否则它是加载的StoredProcedure spT的Alter()
If toSP = "" Then ' Empty
spT.Create()
Else
spT.Alter()
End If
答案 4 :(得分:0)
StoredProcedure
类有一个创建ALTER
语句的方法。
用法
var sprocHeader = sproc.ScriptHeader(forAlter: true);
var sprocBody = sproc.TextBody;