存储过程与函数不能同名
更新时间 2025-02-05 09:36:48
最近更新时间: 2025-02-05 09:36:48
本页介绍天翼云TeleDB数据库创建一个与函数同名的存储过程的错误提示和替换方案。
如创建一个与函数同名的存储过程会提示function xxx already exists with same argument types。
teledb=# CREATE OR REPLACE FUNCTION proc_1() RETURNS void AS
$$
begin
raise notice 'Hello teledb_pg';
end;
$$
LANGUAGE PLPGSQL;
CREATE FUNCTION
teledb=# CREATE PROCEDURE proc_1() AS
$$
begin
raise notice 'Hello teledb_pg';
end;
$$
LANGUAGE PLPGSQL;
ERROR: function "proc_1" already exists with same argument types
teledb=#
如果要替换,则提示。
teledb=# CREATE OR REPLACE PROCEDURE proc_1() AS
$$
begin
raise notice 'Hello teledb_pg';
end;
$$
LANGUAGE PLPGSQL;
ERROR: cannot change routine kind
DETAIL: "proc_1" is a function.
teledb=#