使用创建登录查询在存储过程中使用空密码创建登录?

Create a login in stored procedure with null password using create login query?

我无法更正我的查询,我想通过将参数传递给使用空密码的创建登录查询来创建登录?

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

替换此行

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'

成为普通 SQL 查询,通过与存储过程中传递的参数连接 usp_login - 这进一步不需要任何参数