关于一个触发器的写法

jjja 2003-08-21 09:31:36
又两个表t1(三个字段),t2(四个字段),这两个表的前三个字段名称和类型都相同,但是t2比t1多一个字段。
现在想写一个触发器,在t1发生insert时,将insert到t1中的记录插入到t2的前三列中。
谢谢
...全文
27 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yczzg 2003-08-21
  • 打赏
  • 举报
回复
如果是默认值
create trigger [triggername] on t1
for insert
as
insert t2 (列1,列2,列3,列4) select 列1,列2,列3,指定值 as 列4 from inserted
go
yczzg 2003-08-21
  • 打赏
  • 举报
回复
如果是默认值
create trigger [triggername] on t1
for insert
as
insert t2 (列1,列2,列3,列4) select 列1,列2,列3,指定值 as 列4 from inserted
go
lxf31 2003-08-21
  • 打赏
  • 举报
回复
那就再INSERT一个语句
royiw 2003-08-21
  • 打赏
  • 举报
回复
create trigger [name] on t1
for insert
as
insert t2 (列1,列2,列3,列4,) select 列1,列2,列3,'insert' from inserted
go
jjja 2003-08-21
  • 打赏
  • 举报
回复
不对,没上面的错误,是俺搞错了,:)
如果我要根据插入的记录向t2插入相应列的同时还想给t2多出的那个字段指定一定的值,该怎么做?(比如t2多的字段是char类型,想给它赋‘insert’)。
jjja 2003-08-21
  • 打赏
  • 举报
回复
好像不行也
有错误:INSERT 语句的选择列表包含的项少于插入列表中的项。SELECT 语句中值的数目必须与 INSERT 语句中列的数目匹配。
lxf31 2003-08-21
  • 打赏
  • 举报
回复
我的写错了:)

对不起了,楼主,我弄混了
lxf31 2003-08-21
  • 打赏
  • 举报
回复
早上好大力哥
呵呵
pengdali 2003-08-21
  • 打赏
  • 举报
回复
create trigger [name] on t1
for insert
as
insert t2 (列1,列2,列3) select 列1,列2,列3 from inserted
go
lxf31 2003-08-21
  • 打赏
  • 举报
回复
create trigger [name] on t1
for insert
as
update t2 set t2.1= (select t1.1 from inserted)
t2.2=(select t2.2 from inserted)
t2.3=(select t2.3 from inserted)
go

34,576

社区成员

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

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