1 判断数据库是否存在
if exists (select * from sys.databases where name = ’数据库名’)
drop database [数据库名] 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 [表名] if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
drop table [表名]
3 判断存储过程是否存在
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 判断临时表是否存在
if object_id(’tempdb..#临时表名’) is not null
drop table #临时表名 if object_id(’tempdb..#临时表名’) is not null
drop table #临时表名
5 判断视图是否存在
--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 判断函数是否存在
IF OBJECT_ID (N'函数名') IS NOT NULL
DROP FUNCTION dnt_split
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 获取用户创建的对象信息
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 判断列是否存在
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 判断列是否自增列
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 判断表中是否存在索引
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 查看数据库中对象
SELECT * FROM sys.sysobjects WHERE name=’对象名’ SELECT * FROM sys.sysobjects WHERE name=’对象名
分享到:
相关推荐
SQL SERVER为每个触发器都创建了两个临时表INSERTED表和DELETED表,这两个表的逻辑结构与被触发器作用的表一样,用户可以读取这两个表的内容,但不能对它们进行修改,触发器执行完后,这两个表也会自动删除。...
笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql ... Sqlserver数据库总结.sql
数据库存储过程、函数解密工具:dbForge SQL Decryptor v3.1.24
sqlserver 不同数据库之间数据拷贝,可支持一键复制拷贝整个数据库表,更高版本支持索引主键,存储过程,函数,视图,触发器的一键导出。可建一个新库,把置疑数据库的数据直接导入到新数据库
比较SQLSERVER数据库表结构差异差异,触发器、存储过程、函数、视图
3.6.1 存储过程 功能说明、入口参数、出口参数、处理算法(可用流程图、代码表达)、程序注释。 3.6.2 函数 功能说明、入口参数、出口参数、处理算法(可用流程图、代码表达)、程序注释。 3.6.3 触发器 所属表、...
一、项目需求 1. 数据库同步 实现两个Sqlserver之间的数据库同步 ...内网A、B两个Sqlserver数据库服务器 A服务器某库表结构、数据、存储过程、自定义函数发生变化时自动同步到B服务器的对应数据库中
SQL Server 的扩展存储过程,其实就是一个普通的 Windows DLL,只不过按照某种规则实现了某些函数而已。本文介绍一下作者的扩展存储过程,该动态库导出了三个函数: Init,work,Final,Init读文件,存储信息于内存,work...
SQL Server数据库自定义函数与存储过程研究.pdf
SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则
内容涉及应用程序需求分析和模型设计,数据库数据处理、函数、存储过程、默认、规则等多种数据库对象操作,SQL Server 2000多种管理工具的使用方法,数据库完整性、一致性、可用性和安全性方面的知识,前端应用程序...
本文主要讲述的是关系型数据库及SQL语句,SQLSERVER数据库设计与实现; 感兴趣的朋友可以过来看看 目录: 第一章 SQL SERVER2000数据库管理系统 第二章 创建和维护数据库 第三章 设计表 第四章 表的管理 第五章 ...
这是使用Microsoft Sql Server数据库实现的订单管理课程作业,包含数据库脚本、数据库文件、要求及文档。 本资源中实现的数据库表有订单信息表、客户信息表、送货记录表,文档列出了所有插入数据的脚本。创建了计算...
笔者找到的功能最强大、操作最简单、使用最可靠的数据库解密工具,用于解密的SQL Server2000、2005等版本的存储过程、函数、触发器和视图。 执行连接到数据库后,左边直接列出数据库清单以及每个数据库内的存储过程...
存储过程、函数解密工具,简单、全面,好用
数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装、配置,服务器启动、停止,企业管理器、查询分析器 第一代数据库–网状数据库和层次数据库;第二代数据库–关系数
第2章 SQL Server环境 第3章 存储过程的设计概念 第4章 T-SQL的基本编程结构 第5章 函数 第6章 复合T-SQL结构:批处理、脚本和事务 第7章 调试和错误处理 第8章 特殊类型的过程 第9章 高级存储过程编程 第10章 与SQL...
适合sqlserver数据库初学者,实验四存储过程和函数实验
sql server中如何判断表或者数据库的存在,但在实际使用中,需判断Status状态位:其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置: 1 = autoclose;使用 sp_dboption ...
本书例题、实训、习题中所有案例的库、表、视图、字段、函数、存储过程、触发器及其语法格式等对象均采用汉字命名,使同学们能更好地理解举例的意义。 全书共12章。第1、2章,讲解数据库基本概念、基本理论以及...