我試圖讓光標在表中爲名稱創建登錄名,密碼和用戶名。除了臨時密碼外,我的一切都正常工作,這是登錄名的前四個,最後加上了9999。我已經正確地編碼了(我認爲),但是我在創建登錄時無法正常工作。它以「@Password」作爲密碼而不是BBro999。我知道這是因爲我有'''密碼'''',但我不能爲我的生活弄清楚如何編碼這將它作爲@Password拉入'BBro999'的位置。作爲用於@loginname使用光標創建登錄名和臨時密碼
USE AP
DECLARE
@CreateLogin varchar(256),
@LoginName varchar(20),
@Password char(20);
DECLARE Login_Cursor CURSOR
Dynamic
FOR
SELECT DISTINCT*
FROM NewLogins;
OPEN Login_Cursor;
FETCH NEXT FROM Login_Cursor INTO @LoginName;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @Password = LEFT(@LoginName, 4) + '9999';
SET @CreateLogin = 'CREATE LOGIN ' + @LoginName + ' ' + 'WITH PASSWORD = ' + '''@Password'''+ ','+ ' ' + 'DEFAULT_DATABASE = AP';
EXEC (@CreateLogin);
SET @CreateLogin = 'CREATE USER ' + @LoginName + ' ' + 'FOR LOGIN ' + @LoginName;
EXEC (@CreateLogin);
SET @CreateLogin = 'ALTER ROLE PaymentEntry ADD MEMBER ' + @LoginName;
EXEC (@CreateLogin);
FETCH NEXT FROM Login_Cursor
INTO @LoginName;
END;
CLOSE Login_Cursor;
DEALLOCATE Login_Cursor;
太棒了!我無法相信我沒有想到把報價移到其他地方。非常感謝。 – Krystianya