刪除函數註意事項 從當前資料庫中刪除一個或多個用戶定義函數。DROP 函數支持本機編譯的標量用戶定義函數。 如果資料庫中存在引用 DROP FUNCTION 的 Transact-SQL 函數或視圖並且這些函數或視圖通過使用 SCHEMABINDING 創建,或者存在引用該函數的計算列、CHECK ...
刪除函數註意事項
從當前資料庫中刪除一個或多個用戶定義函數。DROP 函數支持本機編譯的標量用戶定義函數。
如果資料庫中存在引用 DROP FUNCTION 的 Transact-SQL 函數或視圖並且這些函數或視圖通過使用 SCHEMABINDING 創建,或者存在引用該函數的計算列、CHECK 約束或 DEFAULT 約束,則 DROP FUNCTION 將失敗。
如果存在引用此函數並且已生成索引的計算列,則 DROP FUNCTION 將失敗。
若要執行 DROP FUNCTION,用戶至少應對函數所屬架構具有 ALTER 許可權,或對函數具有 CONTROL 許可權。
使用SSMS資料庫管理工具刪除函數
1、連接資料庫-》選擇資料庫-》展開可編程性-》展開函數-》展開要刪除的函數類型-》選擇要刪除的函數-》右鍵點擊-》選擇刪除。
2、在刪除對象彈出框-》點擊確定。
3、查看刪除結果(不需要刷新)。
使用T-SQL腳本刪除函數
語法:
--聲明資料庫引用
use 資料庫名;
go
--判斷是否存在函數,如果存在則刪除
if exists(select * from sys.objects where name=[ schema_name. ] function_name)
drop function [ schema_name. ] function_name;
go
語法解析:
--if exists
--只有在函數已存在時才對其進行有條件地刪除。 在 SQL Database 中以及從 SQL Server 2016 開始可用。
--schema_name
--用戶定義函數所屬的架構的名稱。
--function_name
--要刪除的用戶定義函數的名稱。 可以選擇是否指定架構名稱。 不能指定伺服器名稱和資料庫名稱。
示例:
--聲明資料庫引用
use testss;
go
--判斷是否存在函數,如果存在則刪除
if exists(select * from sys.objects where name='tablefun')
drop function dbo.tablefun;
go
示例結果:使用T-SQL腳本刪除函數之後需要刷新查看刪除結果,依次顯示刪除命令執行結果和刪除結果。