`
ldzyz007
  • 浏览: 716491 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SqlServer判断数据库、表、存储过程、函数是否存在

阅读更多
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数据库实验_存储过程与触发器设计.docx

    在SQL Server数据库中,存储过程和触发器是两种重要的数据库对象,它们在数据管理与业务逻辑处理中扮演着关键角色。 存储过程是预编译的SQL语句集合,它可以包含一系列的数据操作,如查询、更新、插入和删除等。...

    SqlServer存储过程及调试指南

    6. 存储过程修改与变更:在对SQLServer存储过程进行修改和变更时,可能会遇到与现有数据库函数冲突的问题,需要掌握正确的方法来进行升级和批量修改,避免造成错误。 7. 异常处理的详细机制:在TRY块中包含潜在失败...

    在Sql Server 数据库中利用存储过程实现动态交叉表

    本文将探讨如何在SQL Server数据库中利用存储过程实现动态交叉表。 首先,我们需要理解交叉表的基本概念。在数据分析和报表生成中,交叉表是一种以行列交叉形式展示数据统计结果的表格,通常用于展示分类数据的汇总...

    SQL Server 2005 数据库系统开发完全手册

    《SQL Server 2005 数据库系统开发完全手册》是一部深入探讨SQL Server 2005数据库管理系统的重要参考资料,适合数据库开发人员、管理员以及对SQL Server 2005有兴趣的学习者。这本书包含了丰富的实践代码,旨在帮助...

    sqlserver 存储过程 函数 常用知识点

    在SQL Server中,存储过程和函数是数据库管理与开发中的重要组成部分,它们为数据库操作提供了高效、可重用和安全的途径。以下是关于SQL Server存储过程和函数的一些常用知识点: 1. **存储过程(Stored Procedures...

    SQLServer2016数据库管理与开发项目教程(微课版)-实训课件.rar

    《SQLServer2016数据库管理与开发项目教程(微课版)》是一份全面介绍SQL Server 2016数据库管理系统的学习资源,主要针对数据库管理和开发人员进行深入讲解。这个压缩包包含了丰富的实训课件,旨在帮助学习者通过...

    《SQL Server 2016数据库应用教程》试卷及答案3套.pdf

    《SQL Server 2016数据库应用教程》试卷及答案主要涵盖了SQL Server 2016数据库的基础知识和操作技能,包括数据管理、查询、存储过程、事务处理、索引和视图等内容。以下是相关知识点的详细说明: 一、基础概念 1. ...

    SQL Server数据库中创建MD5函数过程

    在SQL Server数据库中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为一个固定长度的哈希值,通常是一个32位的16进制数字,用于数据的校验和加密。在本教程中,我们将...

    sql server 2000数据库驱动包

    标签列出了三个关键文件:"sqlserver2000 数据库驱动包 msbase.jar mssqlserver.jar msutil.jar"。这些文件是驱动包的核心组成部分,它们的作用如下: 1. **msbase.jar**:这是SQL Server JDBC驱动的基础组件,包含...

    SQL SERVER 创建数据库SQL SERVER 创建数据库SQL SERVER 创建数据库

    SQL Server 创建数据库是指在 SQL Server 中创建一个新的数据库,以便存储和管理数据。以下是创建数据库的知识点: 1. 创建数据库的步骤: - 定义数据库:定义数据库的名字、大小、文件路径等信息。 - 创建文件组...

    MFC连接SQL Server数据库

    MFC连接SQL Server数据库 MFC(Microsoft Foundation Classes)是一种基于C++的应用程序框架,广泛应用于Windows平台的桌面应用程序开发。其中一个重要的应用场景是连接数据库,以便进行数据存储和检索。本文将详细...

    判断SQL数据库中函数存储过程等是否存在的方法

    在SQL数据库管理中,经常会遇到需要验证某个对象(如表、存储过程、函数或视图)是否已经存在的场景。这通常是为了确保在执行创建、更新或删除操作之前不会发生重复或者冲突。以下是一些用于检查SQL数据库中这些对象...

    SQLServer2016数据库管理与开发项目教程(微课版)-源代码.rar

    《SQLServer2016数据库管理与开发项目教程(微课版)》是一份全面介绍SQL Server 2016数据库管理系统的学习资源,其源代码部分涵盖了数据库管理、开发及项目实践的关键知识点。通过这份教程,你可以深入理解SQL ...

    SQL Server 2008数据库设计与实现

    《SQL Server 2008数据库设计与实现》是关系型数据库设计与开发方面的一本经典著作,由资深数据库专家撰写,旨在向读者介绍世界上最受欢迎的数据库管理系统之一——SQL Server 2008。全书分为三个部分,从基础概念到...

    比较SQL SERVER 2000 数据库差异

    这种比较通常包括表结构、索引、存储过程、视图、触发器、用户定义函数、权限等元素。 描述中提及的"数据库文件差异小工具",可能是指BXC-SQLServer数据库对象对比工具1.2.exe,这是一个专用于比较SQL Server数据库...

    sql server数据库表生成实体类生成工具

    本篇文章将深入探讨“SQL Server数据库表生成实体类生成工具”,以及与之相关的C#编程、SQLServer和实体类等主题。 首先,SQL Server是Microsoft推出的一种关系型数据库管理系统,广泛应用于企业级数据存储和处理。...

    sql server 2012数据库视频教程

    │ 01-SQLSERVER数据库基础.mp4 │ 02_01-创建数据库.mp4 │ 02_02-创建数据表.mp4 │ 02_03-表结构和约束的维护.mp4 │ 03-插入数据.mp4 │ 04-数据的修改和删除.mp4 │ 05-基本查询.mp4 │ 06_01-条件查询一.mp4 ...

    SQL Server 2000数据库应用教程课后答案

    SQL Server 2000是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理和分析中扮演着重要角色。本教程将围绕SQL Server 2000的数据库应用进行深入探讨,帮助学习者掌握其核心功能和操作技巧。课后答案旨在...

    SQL Server2005数据库教程

    《SQL Server 2005数据库教程》是一份专为初学者设计的全面教程,旨在帮助读者快速理解和掌握SQL Server 2005的核心概念和技术。这份教程以其简单、易学、易懂的特点,深受数据库爱好者欢迎。通过深入浅出的方式,...

    SQL SERVER2000数据库备份和恢复存储过程.rar_SQL 备份_recovery in SQL_sql server

    在提供的文件列表中,"MySQL数据库函数.txt"和"从一个MySQL的例子来学习查询语句.txt"虽然不是SQL Server 2000的内容,但可以作为对比学习,了解不同数据库系统在备份恢复机制上的异同。"数据库查询结果的动态排序....

Global site tag (gtag.js) - Google Analytics