我有以下表格结构,为了方便起见,我只标记个别列
Table_A
(Id, Name, Desc
)Table_1
(Id
这是身份列,Name
....)Table_2
(Id
这是身份列,,,Table_A_Id
)Table_1_Id
Table_1 和 Table_2 之间的关系是1...*
现在我为Table_A
调用创建了一个表类型TType_Table_A
(它只包含Id
作为列,并且从我的 C# 应用程序中发送多条记录)。我已经根据需要实现了这种批量插入功能。
我需要的是,当我用下面的语句将记录插入到Table_2
from中时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 条记录中的每一条记录。
任何输入/帮助表示赞赏
这就是我知道如何实现的,但我想减少来自我的应用程序或存储过程中的用户游标的数据库调用
在Table_1中插入记录并返回Id循环......通过记录并在Table_2中插入记录并返回Id
或者
从 TableType 插入/选择时在存储过程中使用游标