execute_create_procedure

Function execute_create_procedure 

Source
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