我可以成功创建如下函数:
CREATE FUNCTION Foo(MY_Value INT) RETURNS INT
AS 'SELECT 2 + MY_Value'
LANGUAGE SQL
但是,如果我首先要检查该功能是否存在,然后删除该功能,则必须指定以下内容:
DROP FUNCTION IF EXISTS Foo(My_Value INT);
如果不指定输入参数,则以下内容将返回错误,指出“注意:函数foo()不存在,正在跳过”
DROP FUNCTION IF EXISTS Foo();
与MySQL相似,是否有一种方法可以在PostgreSQL中删除FUNCTION而不需要为函数指定参数?换句话说,MySQL语句中是否存在以下等效项(即,删除存储过程而不指定输入参数)?
DROP PROCEDURE IF EXISTS Foo;
在Postgres中可以重载函数,因此必须使用参数来区分重载函数。为了明确地标识一个函数,您只能放置其参数的类型。
DROP FUNCTION IF EXISTS Foo(INT);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句