Имам следната структура на таблицата, като за удобство маркирам само отделни колони
Table_A
(Id, Name, Desc
)Table_1
(Id
това е колона за самоличност,Name
....)Table_2
(Id
това е колона за самоличност,Table_A_Id
,Table_1_Id
)
Връзката между Таблица_1 и Таблица_2 е 1...*
Сега създадох тип таблица за Table_A
, наречен TType_Table_A
(която съдържа само Id
като колона и от моето C# приложение изпращам множество записи). Постигнах тази функционалност за групово вмъкване според желанието.
Това, от което се нуждая, е, когато вмъквам записи в Table_2
от TType_Table_A
да речем с изрази по-долу, бих искал да уловя Id
от Table_2
за всеки вмъкнат запис
declare @count int = (select count(*) from @TType_Table_A); --a variable declared for TType_Table_A
if(@count > 0)
begin
insert into Table_2(Table_A_Id,Table_1_Id)
SELECT @SomeValue, @SomeValueAsParameter FROM @TType_Table_A;
end;
Сега кажете, че ако са вмъкнати 2 записа, бих искал да уловя Id
за всеки от тези 2 записа.
Всеки принос/помощ се оценява
Това е, което знам как може да се постигне, но искам да намаля DB извикванията от моето приложение или потребителски курсор в съхранена процедура
Вмъкнете запис в Table_1 и върнете обратно Id Loop.....чрез записи и вмъкнете запис в Table_2 и върнете обратно ID
OR
Използвайте курсора в съхранена процедура, когато вмъквате/избирате от TableType