我需要创建一个存储过程,在多个数据库中创建用户。像这样的事情:
USE [database1]
CREATE USER [userLogin] FOR LOGIN [userLogin]
USE [database2]
CREATE USER [userLogin] FOR LOGIN [userLogin]
由于CREATE USER
语句在当前数据库中完成其工作,我需要使用USE
语句在数据库之间进行更改,但它不能在存储中使用程序。
我该怎么做?
最佳答案
动态SQL
CREATE PROCEDURE spTestProc
AS
EXEC ('USE [database1]; CREATE USER [userLogin] FOR LOGIN [userLogin]')
EXEC ('USE [database2]; CREATE USER [userLogin] FOR LOGIN [userLogin]')
GO
关于sql-server - 在存储过程中使用数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8166608/