前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候. --方法一 /*判断数据表是否存在,若存在则删除数据表*/ IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;…
1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存在 if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [表名] 3 判断存储过程是否存在 if exist…
使用场景 可以反复的执行相同脚本 方式1:查询sysobjects表 if EXISTS (SELECT * from sysobjects WHERE name='test_table') DROP TABLE test_table create table test_table( id varchar(20), name nvarchar(20) ) 方式2:使用object_id函数 语法 OBJECT_ID ( '[ database_name . [ schema_name ] . |…
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否存在 ) drop table [表名] --判断存储过程是否存在 ) drop procedure [存储过程名] --判断函数是否存在 IF OBJECT_ID (N'函数名') IS NOT NULL DROP FUNCTION dnt_split --判断数据库是否开启了全文搜索 selec…
if DB_ID('testdb') is not null -- 如果这个数据库已经存在了 drop database testdb; create database testdb; if OBJECT_ID('dbo.user','u') is not null drop table dbo.user; create tablet dbo.user(......);…
select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go…
如果由于外键约束删除table失败,则先删除所有约束:   --/第1步**********删除所有表的外键约束*************************/   DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varcha…
--导出数据库所有表 SELECT 表名 Then D.name Else '' End, 表说明 Then isnull(F.value,'') Else '' End, 字段序号 = A.colorder, 字段名 = A.name, 字段说明 = isnull(G.[value],''), 标识 Then '√'Else '' End, 主键 FROM sysobjects Where xtype='PK' and parent_obj=A.id and name in ( SELECT…
)-- 表名 set @table_name='bqcform101' --============表结构 select 类别,表名or字段名,描述,字段类型,是否自增,允许为NULL,默认值 from ( column_id,tbs.name 表名or字段名,ds.value 描述, rn FROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id and tbs.name=@table_name…
--禁用外键约束 exec   sp_msforeachtable   'alter   table   ?   nocheck   constraint   all ' --清空数据 truncate   table   表名 --启用外键约束 exec   sp_msforeachtable   'alter   table   ?   check   constraint   all '…