存储过程-插入多条数据到一个表

net_xiaojian 2010-07-05 11:43:50
存储过程中,从一个表a取得数据≥2条数据,根据判断另一个表b是否存在记录,不存在就插入到b,有什么好建议?
...全文
240 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL_Hhy 2010-07-05
  • 打赏
  • 举报
回复
insert into tb
select * from a where not exists(select 1 from tb b where a.id=b.id)
net_xiaojian 2010-07-05
  • 打赏
  • 举报
回复
如果表b里面存在记录了,但是是根据条件判断需不需要插入了。
wujinyuan 2010-07-05
  • 打赏
  • 举报
回复
通过 INSERT FROM 查询,可以将行从一个表复制到另一个表中或在同一个表内复制。例如,在 titles 表中,可以通过 INSERT FROM 查询,将有关某个出版商所有书籍的信息都复制到另一个表中,并使该表可由该出版商使用。 INSERT FROM 查询类似于生成表查询,不同的是将行复制到现有的表中。

提示 还可以通过剪切和粘贴的方法,将行从一个表复制到另一个表中。有关详细信息,请参见在结果窗格中添加新行。

创建 INSERT FROM 查询时指定:

将行复制到的数据库表(目的表)。


从其中复制行的表(源表)。源表或表成为子查询的一部分。如果是在表内进行复制,则源表和目的表相同。


源表中要进行内容复制的列。


将数据复制到的目的表中的目标列。


定义要复制的行的搜索条件。


排序次序(如果要以特定的顺序对行进行复制)。


"分组"选项(如果只对汇总信息进行复制)。
例如,下面的查询将书名信息从 titles 表复制到一个名为 archivetitles 的存档表中。该查询对属于某个出版商的所有书名的四列内容进行复制:

INSERT INTO archivetitles
(title_id, title, type, pub_id)
SELECT title_id, title, type, pub_id
FROM titles
WHERE (pub_id = '0766')
注意 若要将值插入到新行中,请使用 INSERT INTO 查询。

可以对行中的选定列或所有列的内容进行复制。在任何一种情况下,所复制的数据都必须与要复制到的行中的列兼容。例如,如果复制某列(如 price 列)的内容,要复制到的行中的列必须接受带小数位数的数字型数据。如果要对整行进行复制,则目的表必须具有和源表的物理位置相同的兼容列。

当创建 INSERT FROM 查询时,网格窗格将更改以反映可用于复制数据的选项。添加了一个"追加"列,以允许指定数据应复制到的列。

注意 不能撤消执行从中插入查询的操作。作为预防措施,请在执行 INSERT INTO 查询前备份数据。
SQL_Hhy 2010-07-05
  • 打赏
  • 举报
回复
建议用触发器。
bancxc 2010-07-05
  • 打赏
  • 举报
回复
tb换成b
bancxc 2010-07-05
  • 打赏
  • 举报
回复
insert into tb
select * from a
left join tb t on a.id = b.id
where a.id is null

类似于这样的

34,589

社区成员

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

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