W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
DROP FUNCTION — 移除一個函數(shù)
DROP FUNCTION [ IF EXISTS ] name
[ ( [ [ argmode
] [ argname
] argtype
[, ...] ] ) ] [, ...]
[ CASCADE | RESTRICT ]
DROP FUNCTION
移除一個已有函數(shù) 的定義。要執(zhí)行這個命令用戶必須是該函數(shù)的擁有者。該函數(shù)的參數(shù) 類型必須被指定,因為多個不同的函數(shù)可能會具有相同的函數(shù)名和不 同的參數(shù)列表。
IF EXISTS
如果該函數(shù)不存在則不要拋出一個錯誤,而是發(fā)出一個提示。
name
一個現(xiàn)有函數(shù)的名稱(可以是模式限定的)。 如果未指定參數(shù)列表,則該名稱在其模式中必須是唯一的。
argmode
一個參數(shù)的模式:IN
、OUT
、 INOUT
或者VARIADIC
。如果被忽略, 則默認(rèn)為IN
。注意 DROP FUNCTION
并不真正關(guān)心 OUT
參數(shù),因為決定函數(shù)的身份時只需要輸入?yún)?shù)。
因此列出IN
、INOUT
和 VARIADIC
參數(shù)足以。
argname
一個參數(shù)的名稱。注意 DROP FUNCTION
并不真正關(guān)心 參數(shù)名稱,因為決定函數(shù)的身份時只需要參數(shù)的數(shù)據(jù)類型。
argtype
如果函數(shù)有參數(shù),這是函數(shù)參數(shù)的數(shù)據(jù)類型(可以是模式限定的)。
CASCADE
自動刪除依賴于該函數(shù)的對象(例如操作符和觸發(fā)器),然后刪除所有 依賴于那些對象的對象(見第 5.14 節(jié))。
RESTRICT
如果有任何對象依賴于該函數(shù),則拒絕刪除它。這是默認(rèn)值。
這個命令移除平方根函數(shù):
DROP FUNCTION sqrt(integer);
在一個命令中刪除多個函數(shù):
DROP FUNCTION sqrt(integer), sqrt(bigint);
如果函數(shù)名稱在其模式中是唯一的,則可以在不帶參數(shù)列表的情況下引用它:
DROP FUNCTION update_employee_salaries;
請注意,這與
DROP FUNCTION update_employee_salaries();
不同,后者引用一個零個參數(shù)的函數(shù),而第一個變體才可以引用具有任意數(shù)量參數(shù)的函數(shù), 包括零,只要該名稱是唯一的。
該命令符合SQL標(biāo)準(zhǔn),使用這些PostgreSQL擴(kuò)展:
該標(biāo)準(zhǔn)只允許每個命令刪除一個函數(shù)。
IF EXISTS
選項
能夠指定參數(shù)模式和名稱
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: