判断sql表是否存在
1. sql语句 判断表数据是否存在另一个表中
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
2. 镐庝箞鍒ゆ柇sql鏁版嵁搴撴槸钖﹀瓨鍦锛屽瓨鍦ㄥ垹闄
鍒ゆ柇鏁版嵁搴掳纴濡傛灉瀛桦湪鍒椤垹闄わ细
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
DROP DATABASE dbname
濡傛灉鎻愮ず锛氩垹闄ゆ暟鎹搴撴椂鎻愮ず鏁版嵁搴撴e湪琚浣跨敤锛屾棤娉曞垹闄(Cannot drop database databasename because it is currently in use)锛屼娇鐢锛
IF (EXISTS(SELECT * FROM master.dbo.sysdatabases WHERE dbid=db_ID('dbname')))
BEGIN
USE master
ALTER DATABASE dbname
SET single_user
WITH ROLLBACK IMMEDIATE
DROP DATABASE dbname
镓╁𪾢璧勬枡
鍒ゆ柇鍌ㄥ瓨杩囩▼,濡傛灉瀛桦湪鍒椤垹闄
IF (EXISTS(SELECT * FROM sysobjects WHERE name='procerename' AND type='P'))
DROP PROCEDURE procerename
鍒ゆ柇瑙﹀彂鍣,濡傛灉瀛桦湪鍒椤垹闄
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1))
DROP TRIGGER triggername
鍒ゆ柇鐢ㄦ埛鍑芥暟鏄钖﹀瓨鍦,濡傛灉瀛桦湪鍒椤垹闄
姝ゅ则ype链変袱绉: 'TF'- Table-Value Function 琛ㄥ煎嚱鏁 'FN'- Scalar-Value Function 镙囬噺鍊煎嚱鏁
IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[userfunction]') AND (type='FN' OR type='TF')))
DROP FUNCTION userfunction
3. sql语句 判断表是否存在
IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')
PRINT '该表存在'
ELSE
PRINT '该表不存在'。
4. sql 判断一个表是否存在
用户表在当前数据库的系统表中,可使用以下语句进行查找:
select Name,ID from sysobjects where xtype='U'
若是将xtype='U'换成xtype='V'就可以查出来所有视图
xtype参数大概有以下种类:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程