用一条sql语句实现:存在则什么都不干,不存在,则插入

用一条sql语句实现:存在则什么都不干,不存在,则插入用一条sql语句怎么实现?... 用一条sql语句实现:存在则什么都不干,不存在,则插入
用一条sql语句怎么实现?
展开
 我来答
刺友互
高粉答主

2019-09-30 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:67.7万
展开全部

1、首先准备两个数据表,如下图所示,结构需要一样。

2、接着往第一个数据表先插入一些数据。

3、将第一个中的插入进来。

4、接着编写插入语句,注意这次直接在insert后面用select获取数据。

5、然后我们就可以看到第二个数据表中有数据了。

6、最后再进行select查询数据的时候还可以用where进行筛选。

Andy_Sun321
2017-09-27 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:718万
展开全部

用以下的SQL语句结构:

insert into table_name (field_name1, field_name2, ...) 
select value_1, value_2, ...    -- 获取值的查询, 可以固定值,也可以查表或视图
where not exists (
    ...            -- 判断存在的查询
)

具体的查询语句要根据不同的数据库做调整(例如Oracle要求select语句后面必须有表或视图,没有的话也要用dual替代)。

其实,就是一个查询语句,根据你的条件得到查询的结果,然后将查询结果插入到表中而已。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greystar_cn
推荐于2017-09-28 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
if not exists (select * from TABLE_NAME where COLUMN_NAME=value )
用exists去判断

假定判断的列是:COLUMN_NAME
insert into TABLE_NAME (COLUMN_NAME1,COLUMN_NAME2)
select COLUMN_NAME1,COLUMN_NAME2 from TABLE_NAME where COLUMN_NAME not in (select COLUMN_NAME from TABLE_NAME )

使用 not in ,就是COLUMN_NAME不在 TABLE_NAME 的COLUMN_NAME中,执行insert into
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f81c7e5e39
2017-09-28 · TA获得超过399个赞
知道小有建树答主
回答量:553
采纳率:56%
帮助的人:71.7万
展开全部
if not object_id(N'Tempdb..#T') is null-- 判断临时表是否存在
if NOT EXISTS(SELECT * FROM TABLE WHERE ...)-- 判断数据是否存在(这个其实有很多方式)
THEN 
inert into TABLE values()
这个就可以表示不存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-11-04
展开全部
insert select 好像只有复制已有 不存在则插入没听过 一条语句我无法实现
DELETE @There int
select There=count(1) from a
if There=0
BEGIN
insert into
end
2个表对比是否存在也算复制 可以用insert select 不明白你的需求
下面是2个表对比不存在则复制
Insert into Table1(field1,field2,...) (select value1,value2,... from Table2
where NOT EXISTS (SELECT * FROM TBZ_TABLE3 WHERE Table2. value1=Table3.value1) )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式