我正在研究SQL Server 2008,我有两个表:
现在,每当我向Citizen
插入一行时,我希望数据库在Born
中插入一行,这意味着我想“在插入Born之后插入Citizen”。
但我需要它作为参数,所以我不必每次都做同样的事情
我添加了一个存储过程
Create proc CitizenBorn
As
Begin
Insert into dbo.Citizen (ID, Name, Income, Address, Card_ID)
Select
Id, Name, '0', Address, Card_ID
From
dbo.Born
End
但是它不起作用,因为我试图将行插入“Born table”但它没有影响“Citizen table”
答案 0 :(得分:1)
在Born上创建一个触发器,插入到Citizen表中,每个插入Born:
CREATE TRIGGER Born_Insert
ON dbo.Born
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.Citizen ([ID], [Name], [Income], [Address], [Card_ID])
SELECT [Id], [Name],'0', [Address], [Card_ID]
FROM inserted;
END
GO