本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SHOW PROCEDURE
顯示特定預存程序的定義,包括其簽章。您可以使用 SHOW PROCEDURE 的輸出來重新建立預存程序。
語法
SHOW PROCEDURE sp_name [( [ [ argname ] [ argmode ] argtype [, ...] ] )]
參數
- sp_name
-
要顯示的程序的名稱。
- [argname] [ argmode] argtype
-
用來識別預存程序的輸入引數類型。您可以選擇性包含完整引數資料類型,包括 OUT 引數。如果預存程序的名稱是唯一的 (亦即不過載),則此為選用部分。
範例
下列範例顯示程序 test_spl2
的定義。
show procedure test_sp2(int, varchar);
Stored Procedure Definition
------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE public.test_sp2(f1 integer, INOUT f2 character varying, OUT character varying)
LANGUAGE plpgsql
AS $_$
DECLARE
out_var alias for $3;
loop_var int;
BEGIN
IF f1 is null OR f2 is null THEN
RAISE EXCEPTION 'input cannot be null';
END IF;
CREATE TEMP TABLE etl(a int, b varchar);
FOR loop_var IN 1..f1 LOOP
insert into etl values (loop_var, f2);
f2 := f2 || '+' || f2;
END LOOP;
SELECT INTO out_var count(*) from etl;
END;
$_$
(1 row)