判断表(临时表),存储过程是否存在

1.判断正式表或者存储过程是否存在

select * from dbo.sysobjects where id=OBJECT_ID(N‘dbo.Users‘) and type=‘U‘
  --U表示表

select * from dbo.sysobjects where id= object_id(N‘usp_InsertAliPayFeedback‘) and type=‘P‘
 --P表示存储过程

2.判断临时表类型

select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N‘tempdb.dbo.#tempa‘) and type=‘U‘
  --U表示表

select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N‘usp_InsertAliPayFeedback‘)
and type=‘P‘  --P表示存储过程

对象类型。可以是下列值之一:

C = CHECK 约束   D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束

FN = 标量函数 IF = 内嵌表函数  K = PRIMARY KEY 或 UNIQUE 约束

L = 日志 P
= 存储过程 R = 规则  RF = 复制筛选存储过程

S = 系统表  TF = 表函数 TR = 触发器 U
= 用户表 V = 视图 X = 扩展存储过程

举个小例子:

if exists(select * from tempdb.dbo.sysobjects where id= OBJECT_ID(N‘tempdb.dbo.#tempa‘))  --是否存在该临时表

drop table #tempa    --存在则删除

create table #tempa

(

Num int,

Name varchar(20) default ‘名字‘   --列的默认值设置

)

declare @a int

set @a = 1

while @a<30

begin

insert into #tempa (Num) values (@a)

set @a = @a+1

end

select * from #tempa

时间: 2024-10-19 05:25:41

判断表(临时表),存储过程是否存在的相关文章

sql 判断 表 视图 存储过程 存在 然后 删除

sql 判断 函数 存储过程是否存在的方法 (2010-12-03 10:08:57) 转载▼     下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sysdatabases where name=N'库名')print 'exists'elseprint 'not exists'----------------- 判断要创建的表名是否存在if ex

T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)

判断数据库是不是存在  if DB_ID(N'DATABASENAME') is not null 判断表,视图,存储过程,游标的方法综合如下: use databasename--跳转到指定数据库  go if object_id(N'a',N'U') is not null drop table a go 注:a 是一个表,U代表是数据表类型 类似于U的类型代码,如下所示 对象类型: AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立) F = FO

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

--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否存在 if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [表名] --判断存储过程是否存在 if exist

SQl 判断 表 视图 临时表等 是否存在

1.判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = 'addOneArticle' and type='P') drop procedure addOneArticle 2.判断是否存在countAr这个触发器 if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[countAr]') and OBJECTP

sql sever-T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)

 if DB_ID(N'DATABASENAME') is not null use databasename--跳转到指定数据库  go if object_id(N'a',N'U') is not null drop table a go 注:a 是一个表,U代表是数据表类型 类似于U的类型代码,如下所示 对象类型: AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立) F = FOREIGN KEY 约束 PK = PRIMARY KEY 约束 P

交叉表—用存储过程实现的普通交叉表(一)

交叉表-用存储过程实现的普通交叉表(一) 开发工具:C#2008/2010 数据库:Sql Server 2000/2005/2008 界面:WinForm 关于交叉表,各位网友用各种方法实现的不少了,本文主要从用存储过程实现交叉表功能进行探讨,这种方法给具体用户也做了不少.界面如下: 一.基本数据结构 (一)销售单主表结构 (二)销售单明细明 (三)由上述两表组成的视图 二.存储过程 --业务经理销售或兑换分品种按客户汇总表CREATE PROCEDURE YWYXSDHFPZKHHZ(@TJ

Sql Server中判断表或者数据库是否存在

Sql Server中判断表或者数据库是否存在 SQL Server中判断数据库是否存在: 法(一): select * From master.dbo.sysdatabases where name='数据库名' 法(二): if db_id('数据库名') is not null drop database ... go create ... SQL Server中判断表对象是否存在: select count(*) from sysobjects where id = object_id(

mybatis3动态创建表,判断表是否存在,删除表

1.mybatis3动态创建表,判断表是否存在,删除表 mapper配置文件: <span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/

oracle创建表之前判断表是否存在,如果存在则删除已有表

Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id varchar(64) NOT NULL COMMENT '编号', parent_id varchar(64) NOT NULL COMMENT '父级编号', parent_ids varchar(2000) NOT NULL COMMENT '所有父级编号', name varchar(100) NOT NULL C