L oop для набора результатов и выполнения оператора вставки как части хранимой процедуры - PullRequest
0 голосов
/ 25 марта 2020

Я хочу создать хранимую процедуру, которая может выполнять следующие действия, сохранять результат следующего запроса выбора

Запрос № 1:

SELECT ID  
FROM [DVMTO2APP].[Auth].[Principals] 
WHERE Name = 'manufacturing_system'` --> [5] 

Запрос № 2: внутри al oop сделать это:

INSERT INTO [DVMTO2APP].[Auth].[PrincipalPermissions] (PrincipalID, PermissionID, isAllowed) 
VALUES (5, 1, 1)

Обратите внимание, что 5 должен быть получен с шага 1 и подан в al oop для шага 2.

1 Ответ

0 голосов
/ 25 марта 2020

Разве это не так просто, как:

insert <permissions> (columns)
select ID, 1, 1 from <principals> where Name = 'manufacturing_system';

И ради будущих поколений, НЕ используйте имена из трех частей, если нет действительно очень веской причины сделать так. Текущая база данных для соединения, используемого для выполнения этого запроса, должна определить, какая база данных содержит указанные таблицы. В противном случае ваш код гораздо менее переносим и требует настройки для различных сред, миграций и т. Д. c.

...