SQL存储过程

tiesanvip123 2008-04-02 12:43:42
我有两张表t1和t2,两个表有一个相同的字段“姓名”。问题是我向t1表输入数据,根据“姓名”为条件判断t2中是否有相同的数据,如果有则更新t2中的数据,否则将t1表刚输入的数据添加到t2表中。
...全文
66 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 tiesanvip123 的帖子:]
我有两张表t1和t2,两个表有一个相同的字段“姓名”。问题是我向t1表输入数据,根据“姓名”为条件判断t2中是否有相同的数据,如果有则更新t2中的数据,否则将t1表刚输入的数据添加到t2表中。
[/Quote]

这个如楼上使用触发器来做.
liangCK 2008-04-02
  • 打赏
  • 举报
回复
使用触发器.

create trigger tri_test on tb1
instead of insert
as
if @@rowcount>1
begin
rollback
return
end

insert into tb1 select * from inserted

if not exists(select * from inserted i join tb2 b on i.姓名=b.姓名)
insert into tb2 select * from inserted
else
update b
set b.姓名=i.姓名
from inserted i
join tb2 b
on i.姓名=b.姓名
go
liangCK 2008-04-02
  • 打赏
  • 举报
回复
create proc p_test
@name varchar(10)
as
insert into tb1 values(@name)

if not exists(select * from tb2 where name=@name)
insert into tb2 values(@name)
--else
--update
go
liangCK 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
引用楼主 tiesanvip123 的帖子:
我有两张表t1和t2,两个表有一个相同的字段“姓名”。问题是我向t1表输入数据,根据“姓名”为条件判断t2中是否有相同的数据,如果有则更新t2中的数据,否则将t1表刚输入的数据添加到t2表中。


这个如楼上使用触发器来做.
[/Quote]

老乌龟还没睡?.

34,838

社区成员

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

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