pub fn execute_create_procedure(
stmt: &CreateProcedureStmt,
db: &mut Database,
) -> Result<(), ExecutorError>Expand description
Execute CREATE PROCEDURE statement (SQL:1999 Feature P001)
Creates a stored procedure in the database catalog with optional characteristics.
§Parameters
Procedures support three parameter modes:
- IN: Input-only parameters (read by procedure)
- OUT: Output-only parameters (written by procedure to session variables)
- INOUT: Both input and output (read and written)
§Characteristics (Phase 6)
- SQL SECURITY: DEFINER (default) or INVOKER
- COMMENT: Documentation string
- LANGUAGE: SQL (only supported language)
§Example
CREATE PROCEDURE calculate_stats(
IN input_value INT,
OUT sum_result INT,
OUT count_result INT
)
SQL SECURITY INVOKER
COMMENT 'Calculate sum and count from data_table'
BEGIN
SELECT SUM(value), COUNT(*)
INTO sum_result, count_result
FROM data_table
WHERE value > input_value;
END;§Errors
Returns error if:
- Procedure name already exists
- Invalid parameter types
- Body parsing fails