Previous Topic: CREATE PROCEDURE StatementNext Topic: Assignment Statement


Proc-Body Syntax

►►─┬┤proc-external├┬───────────────────┬─┬────────────────────────────────────►◄
   │               └─ parameter-style ─┘ │ 
   └┤proc-SQL-stmt├──────────────────────┘

Expansion of proc_external

├── EXTERNAL ─┬─────────────────┬──────────────────────────────────────────────┤
              └─ NAME ext-name ─┘

Expansion of proc-SQL-stmt

├──┬─ executable-DML-stmt ─┬───────────────────────────────────────────────────┤
   ├─ DDL-stmt ────────────┤
   ├┤control-stmt├─────────┤
   └┤diagnostics-stmt├─────┘

Expansion of diagnostics-stmt

├──┬─ signal-stmt ──────────┬──────────────────────────────────────────────────┤
   ├─ get-diagnostics-stmt ─┤
   ├─ datacom-dump-stmt ────┤
   ├─ raise-error-stmt ─────┤
   └─ resignal-stmt ────────┘

Expansion of control-stmt

├──┬─ call-proc ──────────────┬────────────────────────────────────────────────┤
   ├─ execute-proc ───────────┤
   └─┤proc-only-control-stmt├─┘

Expansion of proc-only-control-stmt

├──┬─ compound-stmt ─────────────────────────┬─────────────────────────────────┤
   └─┤compound-stmt-only-control-statements├─┘

The proc-external clause is only used for External Procedures.

The optional parameter-style clause is only used for External Procedures.

The proc-SQL-stmt clause is only used for SQL Procedures.

The executable-DML-stmt is any DML statement except for DECLARE CURSOR (DECLARE CURSOR is supported as part of the compound statement, see Compound Statement Syntax). For a list of DML statements, see the CA Datacom/DB SQL User Guide.

See the separate diagnostics-stmt syntax diagram that follows and see the GET DIAGNOSTICS statement on page GET DIAGNOSTICS Syntax.

For the compound-stmt, see Compound Statement Syntax.

Expansion of compound-stmt-only-control-statements

├──┬─ assignment-stmt ─┬───────────────────────────────────────────────────────┤
   ├─ case-stmt ───────┤
   ├─ if-then-stmt ────┤
   ├─ iterate-stmt ────┤
   ├─ leave-stmt ──────┤
   ├─ loop-stmt ───────┤
   ├─ repeat-stmt ─────┤
   └─ while-do-stmt ───┘

For details on the variables, see the following: