这是表格:
Order [OrderId], [DateTimePlaced], [ProductId], [Quantity]
Invoice [InvoiceId], [invoice_DateTime], [order_Id]
我希望SQL Server自动将数据插入Invoice表,同时手动将数据插入Order表。
这是我的代码:
create trigger invoice_Sync on Order
after insert
as
begin
insert into Invoice (invoice_DateTime,order_Id) select ID,Name,Address
select getdate(),OrderId
from inserted
go
然而,在我执行此查询后,SQL Server给了我一个错误“INSERT语句的选择列表包含的项目多于插入列表”
我的情况是:发票ID设置为自动递增,所以我想我不应该手动将发票ID放入此触发器中。
有什么建议吗?
答案 0 :(得分:2)
你还有一个SELECT
:
create trigger invoice_Sync on Order
after insert
as
begin
insert into Invoice (invoice_DateTime,order_Id)
--select ID,Name,Address, Why is this here?
select getdate(),OrderId
from inserted
end
go