1CREATE PROCEDURE test_proc1() 2LANGUAGE pltcl 3AS $$ 4unset 5$$; 6 7CALL test_proc1(); 8 9 10CREATE PROCEDURE test_proc2() 11LANGUAGE pltcl 12AS $$ 13return 5 14$$; 15 16CALL test_proc2(); 17 18 19CREATE TABLE test1 (a int); 20 21CREATE PROCEDURE test_proc3(x int) 22LANGUAGE pltcl 23AS $$ 24spi_exec "INSERT INTO test1 VALUES ($1)" 25$$; 26 27CALL test_proc3(55); 28 29SELECT * FROM test1; 30 31 32-- output arguments 33 34CREATE PROCEDURE test_proc5(INOUT a text) 35LANGUAGE pltcl 36AS $$ 37set aa [concat $1 "+" $1] 38return [list a $aa] 39$$; 40 41CALL test_proc5('abc'); 42 43 44CREATE PROCEDURE test_proc6(a int, INOUT b int, INOUT c int) 45LANGUAGE pltcl 46AS $$ 47set bb [expr $2 * $1] 48set cc [expr $3 * $1] 49return [list b $bb c $cc] 50$$; 51 52CALL test_proc6(2, 3, 4); 53 54 55DROP PROCEDURE test_proc1; 56DROP PROCEDURE test_proc2; 57DROP PROCEDURE test_proc3; 58 59DROP TABLE test1; 60