我发誓我记得学习如何做到这一点,但我记不清关键字要找到它,基本上,我希望我的表上有一个列,当同一个表上的另一列被修改时会自动更新。我希望更新基本上是一个通过短SQL脚本获得的值,基于同一个表中的其他值。
最大的问题是让它在修改到其值的列时自动更新,类似于Excel电子表格的更新方式。
答案 0 :(得分:1)
首先使用 COMPUTED COLUMN ,如果计算列无法执行,则使用触发器。与此示例中的Age列一样。
CREATE TABLE MyTable(
FirstName VARCHAR(20),
LastName VARCHAR(20),
DateOfBirth DATETIME,
Age AS Cast(DateDiff("mm", DateOfBirth, GetDate())/12 AS INTEGER)
)
答案 1 :(得分:0)
您在寻找“触发器”关键字吗? http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html 它基本上做你所描述的
答案 2 :(得分:0)
您可能希望使用Database Trigger进行调查以完成此操作。不同的RDBMS有不同的创建方式,因此请检查您的RDBMS文档。
答案 3 :(得分:0)
您可能正在考虑自我引用foreign key
答案 4 :(得分:0)
我相信你正在寻找数据库触发器。
MySQL:http://dev.mysql.com/doc/refman/5.0/en/triggers.html
Sql Server:http://msdn.microsoft.com/en-us/magazine/cc164047.aspx
(希望无论如何,这会让你开始!:))
基本上,您将为INSERT和UPDATE创建一个触发器,以确保该值保持不变。