是否有人调用并运行带有数据库名称的存储过程(它们是快照,每个客户端创建一个)作为传递给存储过程的变量?表格本身是已知的,并且不会变化。我可以将这个存储过程放在另一个中央数据库上,让它达到变量之一,我想象。
现在,它通过使用带有DB脚本的文本文件并替换其中的文本变量,在C#/ ASP.NET中执行动态SQL。我想尝试将其作为存储过程。
答案 0 :(得分:3)
如果将数据库名称(或任何其他对象名称)传递给存储过程,则只有两种方法可以在存储过程中处理它:
动态SQL
基于IF的处理:
IF @DataBaseName = 'A' EXECUTE A.dbo.StoredProc ELSE IF @DataBaseName = 'B' EXECUTE B.dbo.StoredProc ELSE IF ...