我有一个名为'Task'的表
有四列(id,x,y和x * y)
我只输入值(id,x和y)
当我输入值时需要触发器或其他东西自动计算值'x * y'
谢谢,
答案 0 :(得分:1)
在SQL Server中,您可以只使用computed column,不需要触发器;
CREATE TABLE task (
id INT,
x INT,
y INT,
xy AS x*y); -- xy will always be selected as x*y
其他数据库具有类似的功能,例如Oracle's virtual columns。
答案 1 :(得分:1)
您可以使用Computed columns来实现目标。
CREATE TABLE Task(Id int, x int, y int, xy as x* y);
答案 2 :(得分:0)
如果你做想要一个触发器(可能以后可以更改值,而x*y
只是默认值?),那么这个可以是完成:
CREATE TRIGGER T_task on task
instead of insert
as
insert into task (id,x,y,[x*y] /* Really need to rename this */)
select id,x,y,x*y from inserted