有一个字段的默认值是根据ID来变化的,怎么实现?

blacklevin 2006-05-22 02:18:11
例如三个字段
ID 主键
AAA int
BBB varchar(50)

在插入新行时
如果AAA为1时,BBB的值是 "ttt"+ID
如果AAA为2时,BBB的值是 "sss"+ID

怎么实现?
是不是一定要先插入行,取出ID,再更新这一行?
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangpei2008 2006-05-22
  • 打赏
  • 举报
回复
create table t1 (ID int,AAA int,bbb varchar(50))
--------------
CREATE TRIGGER Test5
ON t1
FOR insert
AS
declare @a int
if update(AAA)
select @a=AAA from inserted
if @a=1
Update A
set BBB='ttt'+cast(A.ID as varchar(10))
from T1 A,Inserted B
where A.id=B.id
else
Update A
set BBB='sss'+cast(A.ID as varchar(10))
from T1 A,Inserted B
where A.id=B.id
-------------Try

insert into t1(id,AAA)
select 1,1
blacklevin 2006-05-22
  • 打赏
  • 举报
回复
写在什么地方?
楼上能书详细点吗
a97191 2006-05-22
  • 打赏
  • 举报
回复
做个if判断或才用case语句
liangpei2008 2006-05-22
  • 打赏
  • 举报
回复
用开关语句CASE实现

34,594

社区成员

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

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