我无法更正我的查询,我想通过使用null密码将参数传递给create login查询来创建登录?
ALTER PROCEDURE usp_login
(@DLName VARCHAR(50),
@DBName VARCHAR(50))
AS
BEGIN
DECLARE @statement NVARCHAR(1000)
SET @statement = 'Create Login ' + @DLName + ' With Password = ' + '''''' + ',' + ' Default_Database = ' + @DBName + ',' + ' Check_Policy = ' + ' Off'
EXEC sp_executesql @statement, N'@DLName, @DBName', @DLName, @DBName
END
答案 0 :(得分:0)
替换此行
EXEC sp_executesql @statement, N'@DLName, @DBName', @DLName, @DBName
通过
EXEC sp_executesql @statement
因为声明
SET @statement = 'Create Login ' + @DLName + ' With Password = ' + '''''' + ',' + ' Default_Database = ' + @DBName + ',' + ' Check_Policy = ' + ' Off'
通过与存储过程usp_login
中传递的参数连接而成为纯SQL查询 - 这进一步不需要任何参数