SQL默认值 能否 关联 当前输入的值?

aChinese 2005-01-12 04:39:20
例如,表中有两个字段.
A int, B int

欲编写B的默认值函数 B = A + 1
怎么写? 在函数中如何得到当前insert的值.
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaandys 2005-01-12
  • 打赏
  • 举报
回复
update b set b=a.a+1 from inserted a,表 b where a.a=b.a
aChinese 2005-01-12
  • 打赏
  • 举报
回复
成功了, 呵呵, 我写错了
aChinese 2005-01-12
  • 打赏
  • 举报
回复
错误107, 列前缀 ' inserted' 与 查询中所用的表名或别名不匹配.
zjcxc 元老 2005-01-12
  • 打赏
  • 举报
回复
--表中包含了ntext字段,但你的处理并不涉及到ntext字段,所以
update 表 set b=a+1 from inserted where 表.a=inserted.a
没有问题,只是要注意 a 是表中的主键
aChinese 2005-01-12
  • 打赏
  • 举报
回复
回复人: rockyljt(Rocky) ( ) 信誉:100 2005-01-12 16:42:00 得分: 0


用insert觸發器實現
update 表 set b=a+1 from inserted where 表.a=inserted.a

默認值不能實現
-----------------------------------------------------------------
表中包含了 ntext 字段. inserted表不能使用ntext字段, 怎么办?



zjcxc 元老 2005-01-12
  • 打赏
  • 举报
回复
默认值不能用A+1,公式才允许这样做
chinaandys 2005-01-12
  • 打赏
  • 举报
回复
支持小李子的

---涛声依旧--- 2005-01-12
  • 打赏
  • 举报
回复
或者
將字段B設為計算字段﹐其值為﹕[A]+1
---涛声依旧--- 2005-01-12
  • 打赏
  • 举报
回复
用insert觸發器實現
update 表 set b=a+1 from inserted where 表.a=inserted.a

默認值不能實現

lsxaa 2005-01-12
  • 打赏
  • 举报
回复
create table 表(A int,b as A+1)

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧