Help Center/
GaussDB/
Developer Guide(Distributed_8.x)/
Stored Procedures/
Basic Statements/
Call Statements
Updated on 2024-08-20 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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
-- Create a table. gaussdb=# CREATE SCHEMA hr; gaussdb=# SET CURRENT_SCHEMA = hr; gaussdb=# CREATE TABLE staffs ( section_id INTEGER, salary INTEGER ); gaussdb=# INSERT INTO staffs VALUES (30, 10); gaussdb=# INSERT INTO staffs VALUES (30, 20); -- Create the stored procedure proc_staffs. gaussdb=# CREATE OR REPLACE PROCEDURE proc_staffs (vIM 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; / CREATE PROCEDURE -- 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; -- Clear the current database mode. gaussdb=# DROP SCHEMA hr CASCADE; |
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