• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

SQL存储过程

tiesanvip123 2008-04-02 12:43:42
我有两张表t1和t2,两个表有一个相同的字段“姓名”。问题是我向t1表输入数据,根据“姓名”为条件判断t2中是否有相同的数据,如果有则更新t2中的数据,否则将t1表刚输入的数据添加到t2表中。
...全文
31 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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]

老乌龟还没睡?.
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-02 12:43
社区公告
暂无公告