为了账号安全,请及时绑定邮箱和手机立即绑定

SQL中EXISTS怎么用 ?

SQL中EXISTS怎么用 ?

牛魔王的故事 2019-02-06 11:11:26
SQL中EXISTS怎么用 
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

exists的用法如下:

1、判断数据库是否存在

if exists (select*fromsysdatabaseswherename= '数据库名')

dropdatabase[数据库名]

2、判断表是否存在

if not exists (select * from sysobjects where [name] = '表名' and xtype='U')

begin

--这里创建表

end

3、判断存储过程是否存在

if exists (select*fromsysobjectswhereid = object_id(N'[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

dropprocedure[存储过程名]

4、判断视图是否存在

(1)SQL Server 2000

IF EXISTS (SELECT*FROMsysviewsWHEREobject_id = '[dbo].[视图名]'

(2)SQL Server 2005

IF EXISTS (SELECT*FROMsys.viewsWHEREobject_id = '[dbo].[视图名]'

5、判断函数是否存在

if exists (select*fromdbo.sysobjectswhereid = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF'))

dropfunction[dbo].[函数名]

扩展资料

SQL的提升

1、复制表(只复制结构,源表名:a 新表名:b) (Access可用)

法一:select * into b from a where 1<>1

法二:select top 0 * into b from a

2、拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)

insert into b(x, y, z) select d,e,f from a;

3、跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)

insert into b(x, y, z) select d,e,f from a in ‘具体数据库’ where 条件

例子:。.from b in '"&Server.MapPath("."&"\data.mdb" &"' where..

4、子查询(表名1:a 表名2:b)

select a,b,c from a where a IN (select d from b 或者: select a,b,c from a where a IN (1,2,3)

5、显示文章最后时间

select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b


查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 492 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信