sql server判断数据库、表、列、视图是否存在_MsSql

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 判断视图是否存在

--判断是否存在'MyView52'这个试图
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N'MyView52')
PRINT '存在'
else
PRINT '不存在'

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'

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 '不存在'

删除索引 drop index 表名.索引名

或: drop index 索引名 on 表名(貌似2000不行)

11 查看数据库中对象

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

时间: 2024-08-02 07:12:17

sql server判断数据库、表、列、视图是否存在_MsSql的相关文章

SQL Server 2005数据库还原错误的经典解决方案_MsSql

在SQL Server 2005数据库还原的过程中出现错误:备份集中的数据库备份与现有的'xxxx'数据库不同,网上找了几个解决方案测试,最终成功还原,特此记录下,提供给需要的人. 第一步: 如果你知道备份数据库名你可以跳过第一步,如果你不知道备份数据库的名称,你可以先执行下面语句: RESTORE FILELISTONLY From disk = 'F:\路径\css_cms1'--备份数据库文件路径名 这样可以列出该文件里的data和log文件名,知道这两个文件名以后可以执行下一步了. 第二

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 exist

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.判断存储过程是

Sql Server 获取指定表、视图结构

1.获取指定表.视图的所有字段属性 只要输入不同的表/视图名,就可以获取该表的所有字段名字.字段长度.字段类型.字段说明.字段是否允许为空.是否主键.是否自增长字段等. USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[A_P_GetColumnStructureInfo] Script Date: 11/19/2015 16:11:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER

SQL Server查询数据库中表使用空间信息实现脚本_MsSql

使用了微软提供的不公开的存储过程sp_MSforeachtable   CREATE TABLE #temp ( TableName NVARCHAR (128), RowsCnt VARCHAR (11), ReservedSpace VARCHAR(18), DataSpace VARCHAR(18), CombinedIndexSpace VARCHAR(18), UnusedSpace VARCHAR(18) ) EXEC sp_MSforeachtable'INSERT INTO #t

sql server判断某个表是否存在

点击打开链接

SQL Server Table中XML列的操作代码_MsSql

复制代码 代码如下: --创建测试表 DECLARE @Users TABLE ( ID INT IDENTITY(1,1), UserInfo XML ) ---插入测试数据 DECLARE @xml XML SET @xml=' <root> <user> <userid>1</userid> <userName>test1</userName> </user> </root>' INSERT INTO @

sql server 2000数据库备份还原的图文教程_MsSql

MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL2000中数据库的备份和还原功能. 1.首先请保证您的备份文件是bak文件,并且备份文件能够正常还原. 2.打开"企业管理器"→"数据库",选择您要还原的数据库,右键"所有任务"→"还原数据库".如图: MSSQL2000数据库备份还原的图文教程 3.如果需要还原以前备份过的文件,直接在"还原"选择"数据库",然后在下方选

SQL Server 索引和表体系结构(包含列索引)

原文:SQL Server 索引和表体系结构(包含列索引) 包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引的非键列只存储在叶子节点:包含列索引的列分为键列和非键列,所谓的非键列就是INCLUDE中包含的列,至少需要有一个键列,且键列和非键列不允许重复,非键列最多允许1023列(也就是表的最多列-1),由于索引键列(不包括非键)必须遵守现有索引大小的限制(最大键列数为 16,总索引键大小为 900 字节)的要求所以引进了包含列索引. 正文