2017-10-16 101 views
0

我不能纠正我的查询,我想创建登录通过传递参数到创建登录查询与空密码?使用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 
+0

有语法错误,请检查我的答案。 – GauravKP

回答

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' 

变成普通SQL查询,通过在存储过程传递的参数级联- 进一步不需要任何参数