判斷資料庫,函數名,表名,預存程序名稱等是否存在

來源:互聯網
上載者:User

--判斷資料庫是否存在
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].[函數名]
GO

if col_length(’表名’, ’列名’) is null
print ’不存在’

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.