我想知道当另一个事件发生时,是否可以更新SQL表中的列(或者通常是“做某事”)。
更具体地说,我想知道在父表中删除行时是否可以更改子表中特定列的值。排序ON DELETE CASCADE
但不删除只更新它们的行。
我使用的DBMS是MS SQL Server(Express版)。
非常感谢
答案 0 :(得分:6)
在您尝试将事件作为基础的表上使用触发器,或者您可以限制该表中的访问(读取删除)仅通过存储过程发生。用于更改您想要更改的内容的代码将保留在触发器或存储过程中。
我通常更喜欢存储过程路由,但这只是我个人的偏好。
答案 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 DEFAULT
和ON DELETE SET NULL
。
答案 3 :(得分:0)
您可以编写触发器来执行此操作。
确切的语法取决于您使用的RDBMS
。
答案 4 :(得分:0)
是的,它被称为trigger.如果您指定使用的是哪种RDBMS,我们可以提供更具体的信息。
答案 5 :(得分:0)