1. 程式人生 > >sqlserver if exists 用法

sqlserver if exists 用法

1 判斷資料庫是否存在
Sql程式碼
if exists (select * from sys.databases where name = ’資料庫名’) 
  drop database [資料庫名]  if exists (select * from sys.databases where name = ’資料庫名’)
  drop database [資料庫名]
2 判斷表是否存在
Sql程式碼
if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1) 
  drop table [表名]  if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
  drop table [表名]
3 判斷儲存過程是否存在
Sql程式碼
if exists (select * from sysobjects where id = object_id(N’[儲存過程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1) 
  drop procedure [儲存過程名]  if exists (select * from sysobjects where id = object_id(N’[儲存過程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)
  drop procedure [儲存過程名]
4 判斷臨時表是否存在
Sql程式碼
if object_id(’tempdb..#臨時表名’) is not null   
  drop table #臨時表名  if object_id(’tempdb..#臨時表名’) is not null 
  drop table #臨時表名
5 判斷檢視是否存在
Sql程式碼
--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].[檢視名]’  --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 判斷函式是否存在
Sql程式碼
--  判斷要建立的函式名是否存在   
  if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函式名]’) and xtype in (N’FN’, N’IF’, N’TF’))   
  drop function [dbo].[函式名]    --  判斷要建立的函式名是否存在 
  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 獲取使用者建立的物件資訊
Sql程式碼
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 = 擴充套件儲存過程 
*/  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 判斷列是否存在
Sql程式碼
if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’) 
  alter table 表名 drop column 列名  if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)
  alter table 表名 drop column 列名
9 判斷列是否自增列
Sql程式碼
if columnproperty(object_id(’table’),’col’,’IsIdentity’)=1 
  print ’自增列’ 
else 
  print ’不是自增列’ 
 
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID(’表名’) 
AND is_identity=1  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 判斷表中是否存在索引
Sql程式碼
if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)   
  print  ’存在’   
else   
  print  ’不存在  if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’) 
  print  ’存在’ 
else 
  print  ’不存在
11 檢視資料庫中物件
Sql程式碼
SELECT * FROM sys.sysobjects WHERE name=’物件名’  SELECT * FROM sys.sysobjects WHERE name=’物件名’

相關推薦

sqlserver if exists 用法

1 判斷資料庫是否存在 Sql程式碼 if exists (select * from sys.databases where name = ’資料庫名’)    drop database [資料庫名]  if exists (select * from sys.databases where name

if exists用法

自己留著,還把引號都轉了下=。=!換行等 格式化 呵呵 方便後面用 1 判斷資料庫是否存在 if exists (select * from sys.databases where name = '資料庫名') drop database [資料庫名]  if

SQLServerexists和except用法

sqlserver sql 一、exists1.1 說明EXISTS(包括 NOT EXISTS)子句的返回值是一個BOOL值。EXISTS內部有一個子查詢語句(SELECT ... FROM...),我將其稱為EXIST的內查詢語句。其內查詢語句返回一個結果集。EXISTS子句根據其內查詢語句的結果

sqlserver select 查詢字段if判斷用法

use 普通 cas serve dbo 會員 bsp sele lB SELECT TOP 1000 [id], case when group_id>1 then ‘vip‘ else ‘普通會員‘ end FR

SQL Server IF Exists 判斷數據庫對象是否存在的用法

函數名 sts 數據庫對象 null lte function 查看數據庫 參數 索引 1 判斷數據庫是否存在Sql代碼 if exists (select * from sys.databases where name = ’數據庫名’) drop database

sql server之exists用法

nbsp http ima 技術分享 mage .com .cn img bsp sql server之exists用法

C語言 If用法

true lib stdlib.h sys pause nbsp pau c語言 if print 1. #include<stdio.h> #include<stdlib.h> void main(){ If(1){ printf("這個程序可執行

oracle中的exists 和not exists 用法詳解

sdn ref 用法詳解 html nbsp e30 .net tail sin oracle中的exists 和not exists 用法詳解 http://blog.csdn.net/zhiweianran/article/details/7868894oracle

JSTL <c:if test=“eq ne lt..”></if> 用法

邏輯 算術運算 運算 empty not 驗證 != and 關系 類別 運算符 算術運算符 + 、 - 、 * 、 / (或 div )和 % (或 mod ) 關系運算符 == (或 eq )、 != (或 ne )、 < (或 lt )、 > (或 g

shell腳本中的邏輯判斷,文件目錄屬性判斷,if特殊用法,case語句

shell腳本中的邏輯判斷 文件目錄屬性判斷 if特殊用法 case判斷 筆記內容:20.5 shell腳本中的邏輯判斷20.6 文件目錄屬性判斷20.7 if特殊用法20.8/20.9 case判斷筆記日期:2017-11-2220.5 shell腳本中的邏輯判斷在所有的編程語言中都會有if

20.5 shell腳本中的邏輯判斷 20.6 文件目錄屬性判斷 20.7 if特殊用法 20.8/20.9 case判斷

腳本 shell 文件目錄 邏輯判斷 - 20.5 shell腳本中的邏輯判斷 - 20.6 文件目錄屬性判斷 - 20.7 if特殊用法 - 20.8/20.9 case判斷 # 20.5 Shell腳本中的邏輯判斷 - 很多腳本可以直接用命令執行,比如之前的那個 ``` [root@ami

SQL Server 2016新特性:DROP IF EXISTS

obj 宋體 fff article 特性 這一 ble family base 原文:SQL Server 2016新特性:DROP IF EXISTS ?? 在我們寫T-SQL要刪除某個對象(表、存儲過程等)時,一

mysql5.7基礎 drop database if exists... 刪除數據庫前判斷它是否存在

思考 warning nbsp for databases set affect ase 管理系統 禮悟:   公恒學思合行悟,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉養身心,誠勸且行且珍惜。

linux的shell腳本中的邏輯判斷、文件目錄屬性判斷、if特殊用法、case判斷

例子 add 輸出 文件目錄屬性判斷 glin 如果 work ada shell腳本 Shell腳本中的邏輯判斷 格式1:if 條件 ; then 語句; fi (常用) #以命令的方式表達 [root@garytao-01 ~]# for i in `seq 1 5

shell邏輯判斷、文件屬性判斷、if特殊用法、case判斷

case判斷 屬性 輸出 gre 取值 是否 期待 ash 報錯 shell 腳本中的邏輯判斷 邏輯表達式 在[](中括號)中使用: -lt:=little than 小於 -le:=little && wqual 小於等於 -eq:=equal 等於 -

20.5 Shell腳本中的邏輯判斷;20.6 文件目錄屬性判斷;20.7 if特殊用法;20.8

20.8 20.9 cace判斷20.5 Shell腳本中的邏輯判斷 格式1:if 條件 ; then 語句; fi1. 創建if1.sh測試腳本:[root@hao-01 ~]# vi if1.sha=5,如果a大於3,滿足這個條件,顯示ok添加內容:#!/bin/basha=5if [ $a -gt 3

20.5 shell腳本中的邏輯判斷 20.6 文件目錄屬性判斷 20.7 if特殊用法 20.8/

20.5 shell腳本中的邏輯判斷 220.5 shell腳本中的邏輯判斷 20.6 文件目錄屬性判斷 20.7 if特殊用法 20.8/20.9 case判斷 20.5 shell腳本中的邏輯判斷 20.6 文件目錄屬性判斷 20.7 if特殊用法 20.8/

shell腳本中的邏輯判斷,文件目錄屬性判斷,if特殊用法,case判斷

shellshell中的邏輯判斷 格式1:if 條件 ; then 語句; fiif是如果怎麽樣,then是則怎麽樣寫一個簡單的腳本,它的意思是當a=5,當a大於3時打印ok#!/bin/basha=5if [ $a -gt 3 ]thenecho okfi保存退出後執行腳本[root@linletao-00

69.shell腳本中的邏輯判斷、文件目錄屬性判斷、if特殊用法、case判斷

case判斷 shell腳本中的邏輯判斷 文件目錄屬性判斷 if特殊用法 一、shell中的邏輯判斷 格式1:if 條件 ; then 語句; fi a=2 if [ $a -ge 2 ]; then echo ">=2"; fi 格式2:if 條件; then 語句; else 語句

20.5-20.9 shel:l腳本中的邏輯判斷,文件目錄屬性判斷,if特殊用法 ,case判斷

shell shell腳本 邏輯判斷 case判斷 if特殊用法 20.5 shell腳本中的邏輯判斷不帶else格式1:if 條件 ; then 語句; fi(這種格式常用)解釋:如果滿足條件,然後怎樣,最後怎樣實例:1 命令行形式表示[root@AliKvn ~]# a=5[root@