SQL:判断某些元素是否存在及创建的SQL语句
--判断某个存储过程是否存在
if exists (select * from sysobjects where id = object_id(N'[p_CreateTable]') and
OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [p_CreateTable]
--create proc p_CreateTable
--as
--create table tUser(cid nvarchar(50),name nvarchar(50),age int,dept nvarchar(50))
--EXEC('p_CreateTable')
--判断数据库dbA是否存在
--create database dbA
if exists (select * from sys.databases where name = 'dbA')
drop database [dbA]
--判断表tableA是否存在
--CREATE TABLE tableA(id NVARCHAR(50),name NVARCHAR(50))
if exists (select * from sysobjects where id = object_id(N'[tableA]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [tableA]
--判断存储过程p_CreateTable是否存在
--create proc p_CreateTable as
--create table user(cid nvarchar(50),name nvarchar(50),age int,dept nvarchar(50))
--EXEC('p_CreateTable')
if exists (select * from sysobjects where id = object_id(N'[p_CreateTable]')
and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [p_CreateTable]
--判断视图v_tableAB是否存在
--CREATE VIEW v_tableAB AS
--SELECT a.id,a.NAME FROM tableA a
IF EXISTS (SELECT * FROM sys.views WHERE NAME='v_tableAB')
DROP VIEW v_tableAB --PRINT '存在'
--判断表tableA中的列column1是否存在
--CREATE TABLE tableA(id NVARCHAR(50),NAME NVARCHAR(50))--测试数据
if exists(select * from syscolumns where id=object_id('tableA') and name='column1')
alter table tableA drop column column1
--判断表tableA是否存在索引Index1
create index Index1 on tableA(id,name)--(创建索引)在ID NAME 两个字段上创建非聚集索引
if exists(select * from sysindexes where id=object_id('tableA') and name='index1')
--if exists(select name from sys.indexes where name = N'Index1')
DROP INDEX Index1 on tableA --删除索引
select *from sys.indexes where name = 'Index1'--查看索引
--创建临时表(仅缓存在执行SQL的时候)
DECLARE @tableA TABLE(id NVARCHAR(50),NAME NVARCHAR(50))
INSERT INTO @tableA(id,name)VALUES ('aaa','bbb')
SELECT * FROM @tableA
SQL:判断某些元素是否存在及创建的SQL语句的更多相关文章
- SQL SERVER先判断视图是否存在然后再创建视图的语句
如果我们的语句为: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_I ...
- Mybatis动态SQL(where元素、set元素、if元素)
Mybatis动态SQL(where元素.set元素.if元素) - where 元素只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入“WHERE”子句.而且,若语句的开头为“AND”或 ...
- 使用sql语句创建修改SQL Server标识列(即自动增长列)
一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...
- sql 判断 表 视图 存储过程 存在 然后 删除
sql 判断 函数 存储过程是否存在的方法 (2010-12-03 10:08:57) 转载▼ 下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函 ...
- SQL:获取每个key下最新创建的记录
今天遇到了一个好玩的问题 问题: 有一个含有key和createdTime字段的表,表里存在很多不同的key值,每个key值下有很多记录. 我想要查出每个key下面cratedTime最大的记录,即每 ...
- SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...
- 安装SQL Developer,连接Oracle 12c,创建新用户
1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...
- SQL Azure (16) 创建PaaS SQL Azure V12数据库
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 最新的Azure PaaS SQL Database(SQL Azu ...
随机推荐
- OC错误
- 命令行登录mysql报Segmentation fault错误是怎么回事
==========解决方法============在源码包里,编辑文件 cmd-line-utils/libedit/terminal.c把terminal_set方法中的 char buf[TC_ ...
- 区分listview的item和Button的点击事件
这两天修改领导通的ListView widget,在ListView中加入Button这类的有 “点击” 事件的widget,发现原来listview的itemclick居然失效了, 后来在网上查资料 ...
- ARM7+PROTEUS调试(转)
网上说ARM7调试产生的.axf文件不能直接放在PROTEUS中调试,方法:将.axf文件复制一份修改后缀名为.elf文件加载即可:hex文件删除倒数(用编辑器)第二行后保存即可加载
- 用友UAP
1, 用友UAP 用友集团UAP中心成立于2013年1月1日,隶属于用友集团,旨在为全球大中型企业和公共组织提供计算平台,并打造完整.统一的软件产业链生态系统,以先进的平台.技术和专业的服务成为客户信 ...
- Python中if __name__ == "__main__": 的作用
在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编 ...
- [SQL]不知道
--COALESCE --返回其参数中第一个非空表达式. --语法 --COALESCE ( expression [ ,...n ] ) --参数 --expression --任何类型的表达式. ...
- 【转】关系映射文件***.hbm.xml详解
http://blog.sina.com.cn/s/blog_7ffb8dd5010144yo.html 附.Oracle使用标准.可变长度的内部格式来存储数字.这个内部格式精度可以高达38位. NU ...
- Library Cache: Lock, Pin and Load Lock
What is "Library cache lock" ? This event controls the concurrency between clients of the ...
- image onclick
onclick="this.src+='?rand='+Math.random();" style="cursor: pointer; vertical-align: ...