2 Answers
- Newest
- Most votes
- Most comments
0
Please look at the answers to this question.
An example of query from one of the answer is:
SELECT p.proname sp_name , n.nspname sp_schema , p.proargnames sp_args
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
WHERE p.proowner > 1 AND p.prolang = 100125 ;
0
Here is an example from our documentation:
CREATE OR REPLACE PROCEDURE inner_proc(INOUT a int, b int, INOUT c int) LANGUAGE plpgsql
AS $$
BEGIN
a := b * a;
c := b * c;
END;
$$;
CREATE OR REPLACE PROCEDURE outer_proc(multiplier int) LANGUAGE plpgsql
AS $$
DECLARE
x int := 3;
y int := 4;
BEGIN
DROP TABLE IF EXISTS test_tbl;
CREATE TEMP TABLE test_tbl(a int, b varchar(256));
CALL inner_proc(x, multiplier, y);
insert into test_tbl values (x, y::varchar);
END;
$$;
CALL outer_proc(5);
SELECT * from test_tbl;
a | b
----+----
15 | 20
(1 row)
The inner_proc has an INOUT parameter and you can see that the outer_proc called it with "y". This variable started out as 4 but was modified with inner_proc to now be 20. https://docs.aws.amazon.com/redshift/latest/dg/r_CALL_procedure.html
Relevant content
- asked 5 years ago
- Accepted Answerasked 3 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago