如何动态地使用存储过程中的多个数据库

时间:2011-10-15 07:50:26

标签: sql-server-2005 stored-procedures

在Sql Server 2005中, 我有一个存储过程,在其中我写了一些命令来创建一个表并在其中添加一些记录。

Create Procedure Procedure1 AS 
Begin
    create table TmpTable(CD Decimal(10,0), Descr Varchar(50));
    Insert Into TmpTable Values(0,'Not Applicable');
    Insert Into TmpTable Values(1,'ALL');
    Insert Into TmpTable Values(2,'Selected');
    Insert Into TmpTable Values(3,'Only New');
END

我想在所有可用的数据库中创建此表,我不知道,当我调用此存储过程时有多少数据库可用。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用游标循环遍历服务器上的数据库列表,然后在循环内部执行以上代码的游标。 SQL Server通过其主数据库,每个服务器实例都有其中的函数,您可以调用它来获取系统vise信息。

我过去做过一些事情。

尝试查看此链接,希望它对您有用:

<强> http://sqlserverplanet.com/tsql/list-all-tables-in-a-database/