[OR REPLACE] 更新存储介绍
最近更新时间: 2024-10-17 17:10:00
带OR REPLACE的作用就存储过程存在时则替换的功能,建立存储时不带OR REPLACE关键字, 则遇到函数已经存系统则会报错,如下所示:
postgres=# select prosrc from pg_proc where proname='proc_1';
prosrc
--------------------------------
+
begin +
raise notice 'Hello TBase';+
end; +
(1 row)
postgres=# CREATE OR REPLACE PROCEDURE proc_1() AS
$$
begin
raise notice 'Hello,TBase';
end;
$$
LANGUAGE PLPGSQL;
CREATE PROCEDURE
postgres=# select prosrc from pg_proc where proname='proc_1';
prosrc
---------------------------------
+
begin +
raise notice 'Hello,TBase';+
end; +
(1 row)
postgres=#
postgres=# call proc_1();
NOTICE: Hello,TBase
CALL
postgres=#
另外也可以写成这样:
postgres=# CREATE OR REPLACE PROCEDURE proc_1() AS
begin
raise notice 'Hello,TBase';
end;
/
即不要$$开始和结束符号,最后使用/结束,这个语法更接近于oralce。