我在 sql serevr 2012 中有一个用户表,并希望使用用户表上插入触发器中的插入值创建相应的数据库登录用户。
一切似乎都正常,只是我无法在插入的表中正确使用引用的值,尽管我已经测试了该值以确保它存在
是否有可能创建登录过程不能接受变量
ALTER TRIGGER [dbo].[addsyslogin]
ON [dbo].[Users]
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
SET QUOTED_IDENTIFIER OFF;
Declare @u varchar(10);
SELECT @u=i.userid from inserted i;
print @u;
CREATE LOGIN [@u] WITH PASSWORD='water123GH', DEFAULT_DATABASE=[waterdb], DEFAULT_LANGUAGE=[British], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
END
我研究了quoted_identifiers,但我仍然有这个问题。
实际情况是,数据库用户实际上是使用 userid=@u 而不是 @u 中的值创建的。
感谢您的笔记和反馈