`

SQL Server判断对象是否存在(整理中...)

阅读更多

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 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 #临时表名 

 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 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 = 扩展存储过程
*/

8 判断列是否存在

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

10 判断表中是否存在索引

if exists(select * from sysindexes where id=object_id('表名') and name='索引名')  
  print   '存在'  
else  
  print   '不存在

11 查看数据库中对象

SELECT * FROM sys.sysobjects WHERE name='对象名'
 

 

分享到:
评论

相关推荐

    SQL_SERVER数据库开发之存储过程应用宝典[整理].pdf

    在应用程序中调用这个存储过程,可以通过检查`@blnReturn`的值来判断登录是否成功。 存储过程的优点包括: 1. **代码封装**:将复杂的业务逻辑封装在存储过程中,减少与数据库的交互次数,提高安全性。 2. **性能...

    Sql Server实用操作小技巧集合(一).txt

    - 这个命令可以帮助你了解表的数据分布情况,特别是页的分布,从而判断是否需要进行碎片整理。 - **优化表的碎片化** - 可以使用 `DBCC DBREINDEX` 来对表进行碎片整理。 - 例如,如果要将扫描密度设置为100%,...

    SQLSERVER技巧集锦

    根据提供的文件信息,我们可以整理出一系列关于SQL Server的实用技巧,涵盖了数据操作、查询优化、安全设置等多个方面。下面将详细解析这些技巧及其应用场景。 ### 1. 转换日期格式 - **技巧**: 使用`CONVERT`函数...

    数据库sqlserver攻关

    ### SQL常用对象整理 SQL Server中的常用对象包括数据库、表、视图、存储过程、函数、触发器等。数据库是存储数据的容器,表是存储数据的基本结构,视图是基于表的查询结果集,存储过程是一组为了完成特定功能的SQL...

    学生成绩管理系统 jsp + servlet + javaBean + sql-server-scm.zip

    4. **SQL Server**:作为关系型数据库管理系统,SQL Server存储了系统中的所有数据,如学生的个人信息、课程信息、成绩记录等。通过JDBC(Java Database Connectivity)接口,servlet可以与SQL Server进行通信,执行...

    让索引有序:用SQL Server 2005的新方法来移除索引碎片.pdf

    该函数返回一系列统计数据,用于判断是否需要进行索引碎片整理。 为了清理索引碎片,SQL Server 2005引入了ALTER INDEX命令的REORGANIZE选项。它允许数据库管理员对索引进行整理,而不需要重建索引。REORGANIZE选项...

    matlab连接SQL数据库[整理].pdf

    在 Matlab 中连接 SQL 数据库需要使用 `database` 函数来获取数据库连接对象。下面是一个简单的示例程序: ```matlab sourceName=input('Enter the source Name:','s'); % 输入数据源名称 Timeout=logintimeout(5); ...

    最新整理手机号码归属地数据库SQL版(不齐全骂我)

    在SQL Server中,.mdf文件代表主要数据库文件,存储数据库的实际数据和对象定义;而.log.ldf文件则代表日志文件,记录了对数据库的所有更改操作,用于事务处理和恢复。这进一步证实了这是一个基于SQL Server的数据库...

    SQL Server日常维护及语句汇总

    本文将深入探讨SQL Server的日常维护以及常用语句,重点关注SQL Server中的关键数据库及其作用,以及如何进行跨数据库查询。 首先,让我们了解SQL Server中的几个核心数据库: 1. **master数据库**:master数据库...

    SQL Server触发器在退耕还林阶段性验收数据管理系统中的应用.pdf

    SQL Server触发器在退耕还林阶段性验收数据管理系统中的应用是数据库技术在林业信息化管理中的一个重要实践。触发器是一种特殊的存储过程,它在特定的SQL语句执行时自动触发,比如INSERT、UPDATE或DELETE操作,甚至...

    数据库判断题数据库判断题.doc

    3. 数据库对象和权限:登录对象和用户对象在权限管理中有所不同,登录对象用于验证用户身份,而用户对象则对应数据库内的权限。SQL Server支持多种认证模式,包括Windows身份验证和SQL Server验证。 4. 事务和日志...

    Mysq传智播客基础整理笔记.pdf

    + 创建数据库,判断不存在,再创建:create database if not exists 数据库名称; + 创建数据库,并指定字符集:create database 数据库名称 character set 字符集名; * R(Retrieve):查询 * U(Update):更新 *...

    【MSSQLServer】 T-SQL 整理

    在数据库管理领域,Microsoft SQL Server(简称MSSQLServer)是一款广泛使用的数据库管理系统,而T-SQL(Transact-SQL)是其核心的编程语言,用于执行数据查询、更新、插入和删除操作,以及创建和管理数据库对象。...

    SQL基础测试题

    根据提供的文件内容,我们可以整理出一系列与SQL基础知识相关的知识点,主要涵盖了SQL的基础概念、SQL Server版本、T-SQL语言组成部分、数据类型、变量声明及条件判断、聚合函数、数据库创建及表的操作等内容。...

    数据库基础知识.docx

    是否存在存储过程、表、函数等是指判断某个对象是否存在的SQL语句,例如:IF OBJECT_ID('procedure_name') IS NOT NULL PRINT '存在'; 十七、函数和存储过程的区别 函数和存储过程都是数据库中的程序单元,但是...

    40个轻量级JavaScript库[整理].pdf

    - **Taffy DB**:JavaScript数据库库,提供类似SQL Server的功能,支持CRUD操作和高级查询。 - **ActiveRecord.js**:支持Google Gears和Chrome本地存储的ORM库。 这些轻量级JavaScript库在特定场景下能有效地...

    JAVA-JDBC连接数据库(查询_添加_修改_删除)[整理].pdf

    1. 使用Access或SQL Server建立数据库和表,配置ODBC数据源并测试。 2. 开发图形界面应用,使用JDBC-ODBC Bridge访问数据库,实现预定功能。 代码示例中展示了面向对象程序设计的基本结构,如`jdbc_winXsy`类和`...

    Sql2005系统表-语句函数及存储过程总结.docx

    在SQL Server 2005中,T-SQL(Transact-SQL)是用于管理和操作数据库的主要编程语言。本文档由xugd整理,旨在提供一个关于T-Sql语言及存储过程的综合概述。 1. **T-Sql语言** 1.1 **运算符** T-SQL支持多种...

    京东,美团,滴滴面试整理锦集.pdf

    - equals方法用于判断两个对象是否相等,e1.equals(e2)在e1和e2为null时会抛出空指针异常,所以需要先判断e1和e2是否为null。 - final关键字用于声明一个属性、方法或者类不能被继承或修改;finally是异常处理的一...

Global site tag (gtag.js) - Google Analytics