【发布时间】:2013-12-25 19:50:41
【问题描述】:
我想编写一个存储过程,在表中创建一条记录并使用这条插入的记录更新另一个记录。
问题是,我必须对数据库中的所有表都这样做。
例如
我有这四个表:
Person;
Address;
Question;
User;
还有一张桌子:
TimeStampRegistry
这最后一个表必须为每个表的每条记录创建一条记录,并将其链接到另一个表注册表。当我在Person 中插入一条记录时,我必须在TimeStampRegistry 中插入一条记录,并链接两条记录。
那么,我的问题是:如何只使用一个存储过程来控制数据库中所有表的插入或更新?
【问题讨论】:
-
您可以创建一个存储过程来执行您需要的操作,然后使用触发器调用它 - technet.microsoft.com/en-us/library/ms189799.aspx。您可以有一个
source输入参数,对于触发器中的每个过程调用,该参数将是不同的。 -
如果你想在
TimeStampRegistry中插入一些东西,只要有插入到其他表中,你应该查看一个 INSERT 触发器(不是存储过程)
标签: sql sql-server stored-procedures