oracle 防止插入重复数据

WBOY
リリース: 2016-06-07 15:08:10
オリジナル
2106 人が閲覧しました

有时候用oracle的数据库,插入数据的时候需要判断一下该条数据是否已经存在。 我们的第一思路如下,首先执行下面这个sql: select count(*) isExists from t_test_lll; 然后判断isExists等于0与否,如果等于0,则执行insert。 上面这样写,也可以,但是多写

有时候用oracle的数据库,插入数据的时候需要判断一下该条数据是否已经存在。

我们的第一思路如下,首先执行下面这个sql:

 

select count(*) isExists from t_test_lll;
ログイン後にコピー

 

然后判断isExists等于0与否,如果等于0,则执行insert。

上面这样写,也可以,但是多写很多代码,不利于后期维护。

其实oracle可以内置在insert语句中进行判断,如下sql:

 

insert
when (not exists (select 1 from t_test_lll where id = '111')) then
into t_test_lll(id) select '111' from dual;
ログイン後にコピー


这样,当数据库里有一个id='111'的记录的时候,就不会进行insert操作了。

 

 

 

 

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート