判斷資料庫,函式名,表名,儲存過程名稱等是否存在

2021-05-24 10:34:07 字數 1428 閱讀 1595

--判斷資料庫是否存在

if exists(select * from master..sysdatabases where name=n』庫名』)

print 』exists』

else

print 』not exists』

---------------

-- 判斷要建立的表名是否存在

if exists (select * from dbo.sysobjects where id = object_id(n』[dbo].[表名]』) and objectproperty(id, n』isusertable』) = 1)

-- 刪除表

drop table [dbo].[表名]

go ---------------

--判斷要建立臨時表是否存在

if object_id(』tempdb.dbo.#test』) is not null

begin

print 』存在』

end

else

begin

print 』不存在』

end

---------------

-- 判斷要建立的儲存過程名是否存在

if exists (select * from dbo.sysobjects where id = object_id(n』[dbo].[儲存過程名]』) and objectproperty(id, n』isprocedure』) = 1)

-- 刪除儲存過程

drop procedure [dbo].[儲存過程名]

go ---------------

-- 判斷要建立的檢視名是否存在

if exists (select * from dbo.sysobjects where id = object_id(n』[dbo].[檢視名]』) and objectproperty(id, n』isview』) = 1)

-- 刪除檢視

drop view [dbo].[檢視名]

go ---------------

-- 判斷要建立的函式名是否存在

if exists (select * from dbo.sysobjects where id = object_id(n』[dbo].[函式名]』) and xtype in (n』fn』, n』if』, n』tf』))

-- 刪除函式

drop function [dbo].[函式名]

goif col_length(』表名』, 』列名』) is null

print 』不存在』

select 1 from sysobjects where id in (select id from syscolumns where name=』列名』) and name=』表名』

SQL獲取所有資料庫名 表名 儲存過程以及引數列表

1.獲取所有資料庫名 1 select name from master.sysdatabases order by name 2.獲取所有表名 1 select name from sysobjects where xtype u order by name xtype u 表示所有使用者表 xt...

SQL獲取所有資料庫名 表名 儲存過程以及引數列表

1.獲取所有使用者名稱 where status 2 and islogin 1 1 表示帳戶 0 表示角色 2 表示使用者帳戶 0 表示糸統帳戶 2.獲取所有資料庫名 select name from master.sysdatabases order by name 3.獲取所有表名 selec...

sql資料庫函式,儲存過程的加密解密

use fms 建立加密函式 fn x ifobject id fn x is not null drop function fn x 首先判斷函式是否為空,不為空刪除 gocreate function fn x x nchar 1 returns nchar 1 asbegin return n...