带参数数据库名称的存储过程?

时间:2016-01-29 16:18:37

标签: c# sql-server stored-procedures

是否有人调用并运行带有数据库名称的存储过程(它们是快照,每个客户端创建一个)作为传递给存储过程的变量?表格本身是已知的,并且不会变化。我可以将这个存储过程放在另一个中央数据库上,让它达到变量之一,我想象。

现在,它通过使用带有DB脚本的文本文件并替换其中的文本变量,在C#/ ASP.NET中执行动态SQL。我想尝试将其作为存储过程。

1 个答案:

答案 0 :(得分:3)

如果将数据库名称(或任何其他对象名称)传递给存储过程,则只有两种方法可以在存储过程中处理它:

  1. 动态SQL

  2. 基于IF的处理:

  3. IF @DataBaseName = 'A'
      EXECUTE A.dbo.StoredProc
    ELSE IF @DataBaseName = 'B'
      EXECUTE B.dbo.StoredProc
    ELSE IF 
    ...