--判断某个存储过程是否存在
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语句的更多相关文章

  1. 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 ...

  2. Mybatis动态SQL(where元素、set元素、if元素)

    Mybatis动态SQL(where元素.set元素.if元素) - where 元素只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入“WHERE”子句.而且,若语句的开头为“AND”或 ...

  3. 使用sql语句创建修改SQL Server标识列(即自动增长列)

    一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...

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

    sql 判断 函数 存储过程是否存在的方法 (2010-12-03 10:08:57) 转载▼     下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函 ...

  5. SQL:获取每个key下最新创建的记录

    今天遇到了一个好玩的问题 问题: 有一个含有key和createdTime字段的表,表里存在很多不同的key值,每个key值下有很多记录. 我想要查出每个key下面cratedTime最大的记录,即每 ...

  6. SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二: ...

  7. SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

    不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...

  8. 安装SQL Developer,连接Oracle 12c,创建新用户

    1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...

  9. SQL Azure (16) 创建PaaS SQL Azure V12数据库

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 最新的Azure PaaS SQL Database(SQL Azu ...

随机推荐

  1. apache 做http代理

    1.修改 http.conf 文件 ,增加 监听端口 Listen 开启需要的扩展 LoadModule proxy_module modules/mod_proxy.so LoadModule pr ...

  2. python爬取并计算成绩

    模拟登录后抓取成绩,计算绩点. # -*- coding: utf-8 -*- import urllib import urllib2 import cookielib import re impo ...

  3. windows service自动启动相关设置

    http://blog.csdn.net/thebesttome/article/details/7590025   原帖:http://www.cnblogs.com/junior/archive/ ...

  4. [Flex] ButtonBar系列——flex3 皮肤和外观设置

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...

  5. eclipse设置svn代理

    共2个步骤: 1. 找到C:\Documents and Settings\用户名\Application Data\Subversion的servers文件, 将#http-proxy-host和# ...

  6. inno setup 执行SQL

    参考之:1.可将导入数据的功能写入一个小程序,再外部调用(楼上已经说了):2.可用程序代码:[Setup] AppName=科發醫院管理系統 AppVerName=科發醫院管理系統4.0 AppPub ...

  7. centos7 下安装MongoDB

    查看MongoDB的最新版官方下载地址: https://www.mongodb.com/download-center#community 使用wget命令下载安装包 wget https://fa ...

  8. HYSBZ 1036 【树链剖分】

    思路: 裸裸的树链剖分.... 树链剖分就是把一棵树分成若干重链和轻链...然后保证形成的线段树上每条链是连续存储的.然后这样就能用线段树进行维护了. 但是每次一定要保证是在同一条链里边....思路就 ...

  9. POJ 3311 【状态压缩DP】

    题意: 给n个点,给出矩阵代表i到j单向边的距离. 要求,不介意访问每个点的次数,要求访问完每个点,使得路程总和最小. 思路: 由于不介意访问每个点的次数,所以可以先进行FLOYD求出任意两个点之间的 ...

  10. MongoDB添加用户

    1.添加超级管理员用户 1)切换到admin数据库 >use admin 2)添加管理员用户 >db.addUser("admin","admin" ...