我正在构建一个可以在任何 MS SQL Server 上运行的 SQL 脚本,其中会发生以下情况:
将使用 ID #、dbname 和已处理的?柱子。
然后系统将遍历临时表中的每一行,使用 dbname 作为 SQL 语句的一部分。
这是我目前拥有的:
DECLARE @ID INT
CREATE TABLE #DBNAME (ID varchar(3), dbname varchar(100), processed varchar(1))
BEGIN
INSERT INTO #DBNAME(ID, dbname)
SELECT database_id, name FROM sys.databases
END
BEGIN
UPDATE #DBNAME SET processed = '0'
WHERE dbname IS NOT NULL
END
BEGIN
END
select * from #DBNAME
WHILE (SELECT COUNT(*) From #DBNAME Where processed = 0) > 0
BEGIN
SELECT TOP 1 @ID = ID from #DBName Where processed = 0
select * from [#DBNAME.dbname].installinfo where installed='Success'
目前,#DBName.dbname.installinfo
它不起作用,因为它不是一个有效的对象,我不知道该怎么做。脚本不会在那里完成,好像 select 语句返回的行数超过零,它需要收集额外的信息,但我想如果我能得到[#DBNAME.dbname]
正确的部分,我可以把它放进去,这样我就可以开始工作了在迭代的数据库中。
有任何想法吗?