mssql和sqlite中關(guān)于if not exists 的寫(xiě)法
來(lái)源:易賢網(wǎng) 閱讀:3218 次 日期:2014-05-12 14:36:38
溫馨提示:易賢網(wǎng)小編為您整理了“mssql和sqlite中關(guān)于if not exists 的寫(xiě)法”,方便廣大網(wǎng)友查閱!

在sql語(yǔ)名中,if not exists 即如果不存在,if exists 即如果存在。

下面學(xué)習(xí)下二者的用法。

a,判斷數(shù)據(jù)庫(kù)不存在時(shí)

代碼如下:

if not exists(select * from sys.databases where name = 'database_name')

b,判斷表不存在時(shí)

代碼如下:

if not exists (select * from sysobjects where id = object_id('table_name') and OBJECTPROPERTY(id, 'IsUserTable') = 1)

c,判斷列不存在

代碼如下:

if not exists (select * from syscolumns where id=object_id('table_name') and name='column_name')

當(dāng)判斷的表不存時(shí),我可以執(zhí)行創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建表,增加列,可以執(zhí)行相應(yīng)的SQL語(yǔ)句;

而if exists同理判斷,首先判斷查詢(xún)結(jié)果是否存在,如果存在執(zhí)行判斷后面的語(yǔ)句,查詢(xún)的數(shù)據(jù)庫(kù),表,列的方法相同;

mssql語(yǔ)法:

代碼如下:

if not exists (SELECT 1 FROM [t_Table] where [fName] = '張三')

insert into [t_Table] ([fName]) values ('張三');

sqlite語(yǔ)法:

代碼如下:

insert into [t_Table] ([fName]) select '張三'

where not exists (SELECT 1 FROM [t_Table] where [fName] = '張三');

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:mssql和sqlite中關(guān)于if not exists 的寫(xiě)法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)