Help Center/
GaussDB/
Developer Guide(Distributed_3.x)/
Stored Procedures/
Basic Statements/
Call Statements
Updated on 2024-05-07 GMT+08:00
Call Statements
Syntax
Figure 1 shows the syntax diagram for calling a clause.
The above syntax diagram is explained as follows:
- procedure_name: specifies the name of a stored procedure.
- parameter: specifies the parameters for the stored procedure. You can set no parameter or multiple parameters.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
-- Create the stored procedure proc_staffs. gaussdb=# CREATE OR REPLACE PROCEDURE proc_staffs ( section NUMBER(6), salary_sum out NUMBER(8,2), staffs_count out INTEGER ) IS BEGIN SELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM hr.staffs where section_id = section; END; / CREATE PROCEDURE -- Create the stored procedure proc_return. gaussdb=# CREATE OR REPLACE PROCEDURE proc_return AS v_num NUMBER(8,2); v_sum INTEGER; BEGIN proc_staffs(30, v_sum, v_num); --Call a statement. dbe_output.print_line(v_sum||'#'||v_num); RETURN; -- Return a statement. END; / -- Invoke the stored procedure proc_return. gaussdb=# CALL proc_return(); 30#2.00 proc_return ------------- (1 row) -- Delete the stored procedure. gaussdb=# DROP PROCEDURE proc_staffs; gaussdb=# DROP PROCEDURE proc_return; -- Create the function func_return. gaussdb=# CREATE OR REPLACE FUNCTION func_return returns void language plpgsql AS $$ DECLARE v_num INTEGER := 1; BEGIN dbe_output.print_line(v_num); RETURN; -- Return a statement. END $$; CREATE FUNCTION -- Call the function func_return. gaussdb=# CALL func_return(); 1 func_return ------------- (1 row) -- Drop the function. gaussdb=# DROP FUNCTION func_return; |
Parent topic: Basic Statements
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot