在存储过程中使用数据库 [英] Use database inside a stored procedure
本文介绍了在存储过程中使用数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要创建一个在多个数据库中创建用户的存储过程.像这样:
I need to make a stored procedure which creates a user in more than one database. Something like this:
USE [database1]
CREATE USER [userLogin] FOR LOGIN [userLogin]
USE [database2]
CREATE USER [userLogin] FOR LOGIN [userLogin]
由于 CREATE USER
语句在当前数据库中完成他的工作,所以我需要使用 USE
语句在数据库之间进行更改,但它不能在存储的内部使用程序.
Since the CREATE USER
statement does his job in the current database I need to use the USE
statement to change between databases, but it can't be used inside stored procedures.
我该怎么做?
推荐答案
动态 SQL
CREATE PROCEDURE spTestProc
AS
EXEC ('USE [database1]; CREATE USER [userLogin] FOR LOGIN [userLogin]')
EXEC ('USE [database2]; CREATE USER [userLogin] FOR LOGIN [userLogin]')
GO
这篇关于在存储过程中使用数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文