mssql和sqlite中關於if not exists 的寫法。本站提示廣大學習愛好者:(mssql和sqlite中關於if not exists 的寫法)文章只能為提供參考,不一定能成為您想要的結果。以下是mssql和sqlite中關於if not exists 的寫法正文
在sql語名中,if not exists 即假如不存在,if exists 即假如存在。
上面進修下兩者的用法。
a,斷定數據庫不存在時
if not exists(select * from sys.databases where name = 'database_name')
b,斷定表不存在時
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')
當斷定的表不存時,我可以履行創立數據庫,創立表,增長列,可以履行響應的SQL語句;
而if exists同理斷定,起首斷定查詢成果能否存在,假如存在履行斷定前面的語句,查詢的數據庫,表,列的辦法雷同;
mssql語法:
if not exists (SELECT 1 FROM [t_Table] where [fName] = '張三')
insert into [t_Table] ([fName]) values ('張三');
sqlite語法:
insert into [t_Table] ([fName]) select '張三'
where not exists (SELECT 1 FROM [t_Table] where [fName] = '張三');