我想从另一个过程中执行一个过程,因为我想动态输入数据库名称。
SELECT @dname=dbname FROM @db WHERE id=@intFlag
PRINT @dname
EXEC [@dname].[dbo].[IPC_GetCount] @UserLogin,@Role,@Email,@Days,@Code,@Status
但是即使我在变量内获取数据库名称,它也不接受该变量。
请帮助
答案 0 :(得分:1)
您可以尝试查询
SELECT @dname=dbname FROM @db WHERE id=@intFlag
PRINT @dname
DECLARE @query varchar(100) = 'EXEC ['+ @dname +'].[dbo].[IPC_GetCount] '+ @UserLogin +',' + @Role+',' + @Email +',' + @Days+',' +@Code +',' +@Status
EXECUTE (@query)