SQL server默认值或绑定,怎么绑定其它列?

时间:2022-03-02 09:51:29
我在设计一个表的时候需要将列gd的默认值设置为gf-ga的值,在网上查了一下“默认值或绑定“这个主题,有说到怎么设置数值的,也有说到输入函数的,但是没有确切说明怎么绑定其它列的,请问大家在下面的对话框里怎么写表达式来绑定列?谢谢!
SQL server默认值或绑定,怎么绑定其它列?

9 个解决方案

#1


常规 -》 默认值或绑定 ,后面直接输入就可以了;

#2


用触发器解决

#3


“matchtable”表
- 修改“gd”的列属性时出错。  
在此上下文中不允许使用名称 "gf"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。

直接输gf-ga不行 会报错的

#4


这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?

#5


引用 4 楼 push_chen1984 的回复:
这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?


引用列名只能计算列或用触发器更新该列

#6


本帖最后由 roy_88 于 2016-11-08 15:26:02 编辑
e.g.
--方法1
CREATE TRIGGER tr_cuTable1 ON Table1
AFTER INSERT,UPDATE
AS
SET NOCOUNT ON;
BEGIN
UPDATE t SET gd=t.df-t.ga FROM inserted AS i INNER JOIN Table1 AS t ON i.ID=t.ID

END
GO
--方法2
ALTER TABLE Table1 ADD gd2 AS df-ga;

#7


引用 4 楼 push_chen1984 的回复:
这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?


那就用计算列吧,这个更好;

#8


只是用了计算列,值就不能自己手动更改了;

参考 6# 大版的方法;

#9


嗯 谢谢大家,现在采用触发器来实现这个功能了

#1


常规 -》 默认值或绑定 ,后面直接输入就可以了;

#2


用触发器解决

#3


“matchtable”表
- 修改“gd”的列属性时出错。  
在此上下文中不允许使用名称 "gf"。有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。

直接输gf-ga不行 会报错的

#4


这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?

#5


引用 4 楼 push_chen1984 的回复:
这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?


引用列名只能计算列或用触发器更新该列

#6


本帖最后由 roy_88 于 2016-11-08 15:26:02 编辑
e.g.
--方法1
CREATE TRIGGER tr_cuTable1 ON Table1
AFTER INSERT,UPDATE
AS
SET NOCOUNT ON;
BEGIN
UPDATE t SET gd=t.df-t.ga FROM inserted AS i INNER JOIN Table1 AS t ON i.ID=t.ID

END
GO
--方法2
ALTER TABLE Table1 ADD gd2 AS df-ga;

#7


引用 4 楼 push_chen1984 的回复:
这个界面里注定不支持直接写列名吗? SQL server默认值或绑定,怎么绑定其它列?


那就用计算列吧,这个更好;

#8


只是用了计算列,值就不能自己手动更改了;

参考 6# 大版的方法;

#9


嗯 谢谢大家,现在采用触发器来实现这个功能了