如何在另一行中删除行时更新SQL表?

时间:2011-03-30 13:38:50

标签: sql sql-server

我想知道当另一个事件发生时,是否可以更新SQL表中的列(或者通常是“做某事”)。

更具体地说,我想知道在父表中删除行时是否可以更改子表中特定列的值。排序ON DELETE CASCADE但不删除只更新它们的行。

我使用的DBMS是MS SQL Server(Express版)。

非常感谢

6 个答案:

答案 0 :(得分:6)

在您尝试将事件作为基础的表上使用触发器,或者您可以限制该表中的访问(读取删除)仅通过存储过程发生。用于更改您想要更改的内容的代码将保留在触发器或存储过程中。

我通常更喜欢存储过程路由,但这只是我个人的偏好。

Stored Procedures

Database Triggers

答案 1 :(得分:1)

您没有提到您正在使用哪个DBMS,但这应该可以使用触发器。

假设你正在运行MS SQL(我之所以猜测只是因为你没有指定DBMS),请查看:http://www.devarticles.com/c/a/SQL-Server/Using-Triggers-In-MS-SQL-Server/

答案 2 :(得分:1)

  

我想知道是否有可能   更改特定列中的值   删除行时在子表中   在父表中。 ON DELETE的排序   CASCADE但不删除行   更新它们。

是的,例如引用操作ON DELETE SET DEFAULTON DELETE SET NULL

答案 3 :(得分:0)

您可以编写触发器来执行此操作。

确切的语法取决于您使用的RDBMS

答案 4 :(得分:0)

是的,它被称为trigger.如果您指定使用的是哪种RDBMS,我们可以提供更具体的信息。

答案 5 :(得分:0)