SQL 插入之前怎么判断数据库已经存在

2024-12-26 15:02:12
推荐回答(4个)
回答1:

首先要说明的是,可以用一条语句实现你的要求,但是这条语句的使用效率非常低,如果数据量大,运行就非常的慢。具体语法如下:
insert into B_table
(f1,f2,f3...,D)
select F1,F2,F3,...C from A_table where C not in (select D from b_table);
此句实现的就是A中C列不在B中D列的数据都写入B中,但效率低。
如果可能,建议在A中增加一个标志位,标志是否已经写入过B,而且此标志位要做索引。

回答2:

让两个数据库能直接建立分布式数据库并入同一个事务那就简单了,像 oracle 有 Database Link 能做到。DB2 也有类似的方式。

insert into B.Table2 (D)
select C
from A.Table1 a
left join B.Table2 b on a.C = b.D
where b.D is null
;

回答3:

insert into B (name1,name2) values(select A.name1,A.name2 from A,B where A.id!=B.id)

回答4:

同意楼上