CREATEPROCEDURE test_proc1()
LANGUAGE pltcl AS $$
unset
$$;
CALL test_proc1();
CREATEPROCEDURE test_proc2()
LANGUAGE pltcl AS $$ return5
$$;
CALL test_proc2();
CREATETABLE test1 (a int);
CREATEPROCEDURE test_proc3(x int)
LANGUAGE pltcl AS $$
spi_exec "INSERT INTO test1 VALUES ($1)"
$$;
CALL test_proc3(55);
SELECT * FROM test1;
-- output arguments
CREATEPROCEDURE test_proc5(INOUT a text)
LANGUAGE pltcl AS $$ set aa [concat $1"+" $1] return [list a $aa]
$$;
CALL test_proc5('abc');
CREATEPROCEDURE test_proc6(a int, INOUT b int, INOUT c int)
LANGUAGE pltcl AS $$ set bb [expr $2 * $1] set cc [expr $3 * $1] return [list b $bb c $cc]
$$;
CALL test_proc6(2, 3, 4);
-- OUT parameters
CREATEPROCEDURE test_proc9(IN a int, OUT b int)
LANGUAGE pltcl AS $$
elog NOTICE "a: $1" return [list b [expr {$1 * 2}]]
$$;
DO $$ DECLARE _a int; _b int;
BEGIN
_a := 10; _b := 30; CALL test_proc9(_a, _b);
RAISE NOTICE '_a: %, _b: %', _a, _b;
END
$$;
-- syntax error in result tuple
CREATEPROCEDURE test_proc10(INOUT a text)
LANGUAGE pltcl AS $$ return [list a {$a + $a}])
$$;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.