如何将查询多个表得到的数据存储带另一个新的表中

jiaguoquan_2008 2009-08-04 08:21:04
如何将查询多个表得到的数据存储到另一个新建的表中,
比如:tab1和tab2是以前就有的表,现在从两个表中查询出一些数据,想把这些数据存储到新建的表tab3中,该怎么实现能,
最好是只要tab1和tab2两个表新添加了满足查询条件的数据就立即将查询得到的数据存储到表tab3中,是不是要写存储过程呢?请高手指教!
...全文
359 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linguojin11 2009-08-04
  • 打赏
  • 举报
回复
insert tab3(colname)

select * from tab1,tab2 where ....
zhangwonderful 2009-08-04
  • 打赏
  • 举报
回复
实现方式可以有两种方法:
方法一、通过触发器实现,两张表分别创建触发器,示例如下:
create trigger tr_insert_tab1 on tab1
for insert as
insert into tab3(col1,col2,col3)
select
from inserted a,tab2 b
where a.col=b.col and a.col=条件

create trigger tr_insert_tab2 on tab2
for insert as
insert into tab3(col1,col2,col3)
select
from tab1 a,inserted b
where a.col=b.col and b.col=条件

方法二、
在所有对tab1,tab2进行插入的地方执行
insert into tab3(col1,col2,col3)
select
from tab1 a,tab2 b
where a.col=b.col and b.col=条件
jiaguoquan_2008 2009-08-04
  • 打赏
  • 举报
回复
我想达到的是这种效果,就是当前两个表有新的数据写入时就将满足查询条件的新数据添加到新表中,就好象我向前两个表加数据间接就向新表中加数据一样
sdhdy 2009-08-04
  • 打赏
  • 举报
回复
--不必存储过程,这样就好。
insert tab3(col列表)

select * from tab1,tab2 where ....
zzz1975 2009-08-04
  • 打赏
  • 举报
回复
可以利用select *
into tb3
from tb1,tb2,tab3...
where....

只要有结果,就会插入相应数据
feixianxxx 2009-08-04
  • 打赏
  • 举报
回复
--比如 我要查 TB1 TB2 2表的学生姓名和对应成绩 通过学号连接 ,条件是要求那同学是男的
select 姓名,成绩
into tb3
from tb1 ,tb2
where tb1.学号=tb2.学号 and sex='男'
华夏小卒 2009-08-04
  • 打赏
  • 举报
回复
楼上正解
feixianxxx 2009-08-04
  • 打赏
  • 举报
回复
select *
into tb3
from tb1,tb2
where....

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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