我正在将数据从JSON文件加载到表" main.jsontable"触发器的工作是插入来自" main.jsontable"的所有不同国家的数据。进入" main.country"表。我的问题是触发器需要处理插入多行,我当前的代码是:
:)
但是我得到了这个错误(显然因为触发器一次只能处理1行):
无法将值NULL插入列' countryName',table' assignment2.main.country&#39 ;;列不允许空值。 INSERT失败。
有谁知道如何使用触发器插入多行?
由于
答案 0 :(得分:1)
您需要使用Inserted
伪表,并且您需要了解它可以包含多行(如果您的INSERT
语句一次插入多于一行),您需要使用适当的基于集合的方法相应地处理该表。
尝试这样的事情:
create or alter trigger main.afterParsing
on main.jsontable
after insert
as
begin
insert into main.country(countryName)
select countryName
from Inserted
-- if the data being inserted could have NULL in the
-- countryName - filter those entries out
where countryName is not null
end;