-
2014-02-28 08:34:30
IF EXISTS (SELECT * FROM sys.check_constraints WHERE object_id = OBJECT_ID(N'[dbo].[CK_约束名]') AND parent_object_id = OBJECT_ID(N'[dbo].[表名]')) ALTER TABLE [dbo].[表名] DROP CONSTRAINT [CK_约束名]
sqlserver中如何判断一个表是否存在?
if exists(select * from sys.objects where object_id=object_id(N'表名')) drop table 表名
更多相关内容 -
Sql Server中判断表、列不存在则创建的方法
2020-12-16 16:45:38一、Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法 IF EXISTS ( SELECT 1 ... -
SqlServer 判断表,字段,索引,约束,存储过程是否存在
2021-04-16 15:47:40首先认识一下 sysobjects系统表,可以查询出存在在这个...1,判断表是否存在 --法1 IF EXISTS(SELECT * FROM sysobjects WHERE name = '@tableName') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在'首先认识一下
sysobjects系统表,可以查询出存在在这个数据库里面的系统表信息和用户自己创建的表的信息
syscolumns系统表,可以查询出存在在这个数据库里面的系统表字段数据信息和用户自己创建的表的字段信息
相关链接:将系统表映射到系统视图
1,判断表是否存在
--法1 IF EXISTS(SELECT * FROM sysobjects WHERE name = '@tableName') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO --法2 IF OBJECT_ID (N'@tableName', N'U') IS NOT NULL BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO
2,判断表字段是否存在
--法1 IF EXISTS (SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='表名' AND T2.NAME='字段名') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO --法2 IF COL_LENGTH('表名', '字段名') IS NOT NULL BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO
3,判断表索引是否存在
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('表名', N'U') and NAME='索引名') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO
4,判断约束是否存在
--这个只能以数据库的角度整体判断 IF OBJECT_ID('约束名') IS NOT NULL BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO
5,判断存储过程是否存在
IF Exists(select name from sysobjects where NAME = '存储过程名' and type='P') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在' END GO
6,判断表数据是否存在
IF NOT EXISTS ( SELECT * FROM [tablename] a WHERE a.[id] = 'b239908d-c61f-4c0c-81ec-e33633e9e15a') begin INSERT INTO [dbo].[tablename]([id], [code], [name], [value]) VALUES ('b239908d-c61f-4c0c-81ec-e33633e9e15a', '', '', ''); end
注意:
1,更新表结构、索引;需要验证表字段、索引是否存在,脚本后面需要加go
2,添加数据,需要验证数据是否存在
-
SQL Server判断对象是否存在
2021-02-08 03:53:37SQLServer判断对象是否存在 无 1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ...SQLServer判断对象是否存在 无 1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名]2
SQL Server判断对象是否存在
1 判断数据库是否存在
Sql代码
if exists (select * from sys.databases where name = ’数据库名’)
drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’)
drop database [数据库名]
2 判断表是否存在
Sql代码
if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
drop table [表名] if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
drop table [表名]
3 判断存储过程是否存在
Sql代码
if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)
drop procedure [存储过程名] if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)
drop procedure [存储过程名]
4 判断临时表是否存在
Sql代码
if object_id(’tempdb..#临时表名’) is not null
drop table #临时表名 if object_id(’tempdb..#临时表名’) is not null
drop table #临时表名
5 判断视图是否存在
Sql代码
--SQL Server 2000
IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’
--SQL Server 2005
IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[视图名]’ --SQL Server 2000
IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’
--SQL Server 2005
IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[视图名]’
6 判断函数是否存在
Sql代码
-- 判断要创建的函数名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函数名]’) and xtype in (N’FN’, N’IF’, N’TF’))
drop function [dbo].[函数名] -- 判断要创建的函数名是否存在
if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函数名]’) and xtype in (N’FN’, N’IF’, N’TF’))
drop function [dbo].[函数名]
7 获取用户创建的对象信息
Sql代码
SELECT [name],[id],crdate FROM sysobjects where xtype=’U’
/*
xtype 的表示参数类型,通常包括如下这些
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
*/ SELECT [name],[id],crdate FROM sysobjects where xtype=’U’
/*
xtype 的表示参数类型,通常包括如下这些
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
*/
8 判断列是否存在
Sql代码
if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)
alter table 表名 drop column 列名 if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)
alter table 表名 drop column 列名
9 判断列是否自增列
Sql代码
if columnproperty(object_id(’table’),’col’,’IsIdentity’)=1
print ’自增列’
else
print ’不是自增列’
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID(’表名’)
AND is_identity=1 if columnproperty(object_id(’table’),’col’,’IsIdentity’)=1
print ’自增列’
else
print ’不是自增列’
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID(’表名’)
AND is_identity=1
10 判断表中是否存在索引
Sql代码
if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)
print ’存在’
else
print ’不存在 if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)
print ’存在’
else
print ’不存在
11 查看数据库中对象
Sql代码
SELECT * FROM sys.sysobjects WHERE name=’对象名’ SELECT * FROM sys.sysobjects WHERE name=’对象名’
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
-
SQL约束、索引 判断是否存在
2014-01-08 15:02:45还原数据库后附加原有用户 exec sp_change_users_login 'UPDATE_ONE','用户名'... ... 例如: sp_change_users_login 'update_one', 'admin30', 'admin30' ...判断约束是否存在 IF EXISTS (SELECT * FROM sys.check_con还原数据库后附加原有用户
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名
例如:sp_change_users_login 'update_one', 'admin30', 'admin30'
判断约束是否存在
IF EXISTS (SELECT * FROM sys.check_constraints WHERE object_id = OBJECT_ID(N'约束名) AND parent_object_id = OBJECT_ID(N'表名'))
ALTER TABLE 表名 ADD CONSTRAINT 约束名 DEFAULT ((0)) FOR [State]
GO
判断索引是否存在,不存在则创建
if not exists(select * from sysindexes where id=object_id('iSosDictionary') and name='IX_dictvalue')
CREATE UNIQUE NONCLUSTERED INDEX [IX_dictvalue] ON [iSosDictionary]
(
[DictValue] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO -
sql判断存储过程是否存在
2021-01-18 21:32:16sql判断存储过程是否存在1 判断是否存在Sql代码if exists ( * from sys.databases where name = ’数据库名’)drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’)drop ... -
扩展Exception,增加判断Exception是否为SQL引用约束异常方法!
2021-03-10 04:58:22在设计数据表时,如果将某些列...在此暂不讨论,本篇文章主要讲的是,如何判断是否为SQL的引用约束异常,从而能够更好的将SQL复杂的报错转换为用户能够明白的友好提示。扩展Exception,增加判断Exception是否为SQL... -
Oracle删除表、字段之前判断表、字段是否存在
2021-01-21 15:11:44若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除. DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER('tableName'); IF num... -
SQL外键约束
2020-07-25 14:47:23SQL外键约束外键约束添加外键约束删除外键约束 外键约束 一个表中的 FOREIGN KEY(外键) 指向另一个表中的 PRIMARY KEY(主键) FOREIGN KEY 约束用于预防破坏表之间连接的动作 FOREIGN KEY 约束也能防止非法数据... -
SQL SERVER 查看约束和删除约束
2021-09-26 10:24:03--查看约束 SELECT * FROM sysobjects WHERE OBJECT_NAME(parent_obj) = '表名' --删除约束 ALTER TABLE 表名 DROP CONSTRAINT 约束名 -
sql如何判断表字段是否存在默认值
2018-09-27 17:07:00if exists( SELECT 1 FROM sys.tables t INNER JOIN sys.columns c ...存在默认值约束的处理 ...不存在默认值约束的处理 转载于:https://www.cnblogs.com/zhangq/p/9714229.html -
SQL中判断对象是否存在
2018-01-19 17:00:311、数据库是否存在 if exists (select * from sys.databases where name = ’数据库名’) print '存在' -- drop database [数据库名] --如果存在则删除 2、表是否存在 if exists (select * from sysobjects where ... -
sql sever-T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)
2015-01-13 17:06:07判断数据库是不是存在 if DB_ID(N'DATABASENAME') is not null 判断表,视图,存储过程,游标的方法综合如下: use databasename--跳转到指定数据库 go if object_id(N'a',N'U') is not null drop ... -
sql索引及约束
2021-06-16 15:13:35//ORDER BY b 都 未使用索引 查询在什么时候不走(预期中的)索引 模糊查询 %like 索引列参与计算,使用了函数 非最左前缀顺序 where对null判断 where不等于 or操作有至少一个字段没有索引 需要回表的查询结果集过大... -
判断数据表中记录的主键值是否存在外键约束
2013-08-01 18:21:53/// 判断数据表中记录的主键值是否存在外键约束 /// /// 主键表 /// 数据表中某条记录主键的值 /// public bool IsExistConstraint(string strPrimaryTable,string strPrimaryValue) -
T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)
2015-01-12 17:59:27判断数据库是不是存在 if DB_ID(N'DATABASENAME') is not null 判断表,视图,存储过程,游标的方法综合如下: use databasename--跳转到指定数据库 go if object_id(N'a',N'U') is not null drop... -
SQL SERVER 判断表、存储过程、数据是否存在
2019-02-26 14:27:28--判断要创建的表名是否存在 if exists (select * from dbo.sysobjects where id = object_id(N’ [dbo].[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1) -- 删除表 drop ta... -
sql server建库、建表、建约束技巧
2020-09-10 07:54:49主要介绍了sql server建库、建表、建约束技巧,首先在创建数据库之前先判断数据库是否已经存在,如何存在需先删除在创建,需要的朋友可以参考下 -
SQL Server IF Exists 判断数据库对象是否存在的用法
2019-02-19 13:16:001 判断数据库是否存在Sql代码if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database ... -
SQL查询数据库是否存在
2021-01-19 17:30:19在实际工作中会遇到通过SQL查询数据库是否存在的情况,下面一些语句可以提供一些帮助,本文的语句是在SQL08R2中测试的1,查询当前数据库服务器所有数据库select * From master.dbo.sysdatabases2,查询数据库是否... -
SQLAlchemy确定是否存在唯一约束
2021-01-12 13:41:02None, 'constrained_columns': [u'login']} UNIQUE: [{'column_names': [u'email'], 'name': None}, {'column_names': [u'login'], 'name': None}] 可以通过以下方式验证唯一约束:pk = insp.get_pk_constraint(... -
判断sqlserver对象是否存在
2018-03-29 13:57:12-查看对象是否已经存在 --数据库是否存在 --if exists (select * from sys.databases where name = ’数据库名’) -- drop database [数据库名] if exists(select *from sys.... -
SQL Server判断对象是否存在-will.miao
2020-12-29 07:48:48’数据库名’)dropdatabase[数据库名] if exists (select*fromsys.databaseswherename= ’数据库名’)dropdatabase[数据库名]2 判断表是否存在Sql代码if exists (select*fromsyso... -
sql server 判断是否存在数据库,表,列,视图。。。。。
2019-09-29 21:17:041 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存在if exists (select * from sysobjects where id = object_id(N'[表名]') and ... -
sql server中的各种判断是否存在
2017-12-30 23:03:231 判断数据库是否存在if exists (select from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存在if exists (select from sysobjects where id = object_id(N'[表名]') and ... -
SQL数据库约束、默认和规则
2021-01-21 18:16:48数据的完整性实体完整性又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值MSSQL中通过唯一索引、PRIMARY KEY约束、UNIQUE约束、INDENTITY属性等来强制主键的唯一性域完整性又叫列完整性,以保证... -
SQL 约束创建
2018-09-26 12:08:30–约束的创建 –constraint 约束 –主键约束:pk 唯一约束:UQ 默认约束:DF default –检查约束:CK 外键约束:FK(引用) –check 检查 1、主键约束 alter table <表名> add constraint <pk 约束... -
SQLServer判断指定列的默认值是否存在,并修改默认值
2018-01-29 17:01:00SQLServer判断指定列的默认值是否存在,并修改默认值 原文:SQLServer判断指定列的默认值是否存在,并修改默认值 SQLServer判断指定列的默认值是否存在,并修改默认值 2008年10月21日 星期二 下午 ...