Stored procedures with output parameters
SAP HANA® stored procedures must be called with the
input and output parameters specification in the USING clause of the
EXECUTE, OPEN or FOREACH instruction. As in
normal dynamic SQL, parameters must correspond by position and the IN/OUT/INOUT
options must match the parameter definition of the stored procedure.
To execute the stored procedure, you must use the
CALL SQL
instruction:PREPARE stmt FROM "call proc1(?,?,?)"Here is a complete example creating and calling a stored procedure with output
parameters:
MAIN
DEFINE n INTEGER
DEFINE d DECIMAL(6,2)
DEFINE c VARCHAR(200)
DATABASE test1
EXECUTE IMMEDIATE
"create procedure proc1("
|| " in p1 int,"
|| " out p2 decimal(6,2),"
|| " inout p3 varchar(20)"
|| " )"
|| " language sqlscript as"
|| " begin"
|| " p2 := p1 + 0.23;"
|| " p3 := 'Value = ' || cast(p1 as varchar(10));"
|| " end"
PREPARE stmt FROM "call proc1(?,?,?)"
LET n = 111
EXECUTE stmt USING n IN, d OUT, c INOUT
DISPLAY d
DISPLAY c
END MAIN