MS SQL 2014: создайте структуру папок с помощью xp_cmdshell, используя цикл

Мне нужно создать структуру папок. Для этого я написал длинный запрос, который мне кажется очень некрасивым:

declare @KundeVorname nvarchar(50) 
declare @KundeNachname nvarchar(50) 
declare @path nvarchar(255)

select @KundeVorname=a.firstname0 from ADDRESSES a where a.ID=10 
select @KundeNachname=a.lastname0 from ADDRESSES a where a.ID=10

select @path='MD \\OUK-SRV-01\Arbeitsablage\'+@KundeNachname+'_'+@KundeVorname+'\01'+'" "'+'Legitimation\01'+'" "'+'Ausweis'

EXEC xp_cmdshell @path 

select @path='MD \\OUK-SRV-01\Arbeitsablage\'+@KundeNachname+'_'+@KundeVorname+'\01'+'" "'+'Legitimation\02'+'" "'+'Aufenthaltsdokumente'

EXEC xp_cmdshell @path 

select @path='MD \\OUK-SRV-01\Arbeitsablage\'+@KundeNachname+'_'+@KundeVorname+'\02'+'" "'+'OPTIN' 

EXEC xp_cmdshell @path

..... и так далее

Должен быть способ создать цикл, чтобы я мог выполнить xp_cmdshell только один раз. Это может ускорить мой запрос. Не могли бы вы подсказать, какие изменения мне нужны?

Заранее спасибо!

Вы имеете в виду КУРСОР? Однако использование SQL Server для создания всех ваших каталогов не кажется идеальным. На самом деле может быть более эффективно использовать SQL Server для создания сценария Powershell (используя STRING_AGG или FOR XML PATH и `STUFF), который вы можете вставить в Powershell ISE и выполнить.

Larnu 05.03.2019 11:50

Некоторую автоматизацию можно выполнить с помощью CURSOR или WHILE. Набор данных с командами для выполнения можно определить с помощью T-SQL, а затем выполнить построчно с помощью CURSOR. Это вряд ли поможет с производительностью, но ваш код будет, имхо, более поддерживаемым, потому что логика повторно используется в цикле

Alexander Volok 05.03.2019 11:50
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
88
0

Другие вопросы по теме