mssql和sqlite中关于if not exists 的写法
狗窝网,沈阳号导弹驱逐舰,tga数码商城
在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] = '张三');
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
sql某个日期是当年的第几周
/* *周一作为一周的开始 *当年的1月1号所在的周算作第一周 */ CREATE function GetWeekIndexFirstDate ( @...
[阅读全文]
-
-
数据库SQL---范式
1、数据冗余导致的问题:冗余存储、更新异常、插入异常、删除异常。 2、函数依赖:一种完整性约束。 在关系模式r(R)中,α属于R,β属于R。 1)α函数...
[阅读全文]
-
-
数据库SQL---查询
1、查询所有列 select *from emp;--*表示所有的,from emp表示从emp表中查询。 2、查询指定列 select empno,e...
[阅读全文]
-
-
-
-
网友评论