Попытка добавить нескольких пользователей в Azure SQL - PullRequest
0 голосов
/ 25 мая 2018
declare @Name varchar(100),@sql varchar(400),@sql2 varchar(400),@sql3 varchar(400) ,@sql4 varchar(400) , @psw varchar(10)
--declare @psw varchar(10) = 'Traf@12345'
declare @T table (Name varchar(100)) 
insert into @T values 
('SampleUser1'),
('SampleUser1')
While exists(select * from @T) 
begin 
   select top 1 @Name = name from @T 
   IF NOT EXISTS (SELECT [name] FROM [sys].[sql_logins] WHERE [name] = @Name) 
   BEGIN 
      SET @psw = 'Traf@123'
      SET @sql = 'CREATE LOGIN '+'['+@name+']'+' WITH PASSWORD ='+@psw
      EXEC (@sql) 
   END 
   DELETE FROM @T WHERE Name = @Name 
END

выход:

Msg 102, уровень 15, состояние 1, строка 1 Неверный синтаксис рядом с

'Traf @ 123'.

1 Ответ

0 голосов
/ 25 мая 2018

Пожалуйста, попробуйте следующие изменения:

declare @Name varchar(100),@sql varchar(400),@sql2 varchar(400),@sql3 varchar(400) ,@sql4 varchar(400) 
declare @psw varchar(10) = 'Traf@12345';
declare @T table (Name varchar(100)) ;
insert into @T values 
('SampleUser1'),
('SampleUser2')

While exists(select * from @T) 
begin 
   select top 1 @Name = name from @T 
   IF NOT EXISTS (SELECT [name] FROM [sys].[sql_logins] WHERE [name] = @Name) 
   BEGIN 

      SET @sql = 'CREATE LOGIN '+'['+@name+']'+' WITH PASSWORD ='''+ @psw + '''; '
      EXEC (@sql) 
   END 
   DELETE FROM @T WHERE Name = @Name 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...