1 ALTER
2 PROCEDURE procedure-name
2.1? (
2.1.1? 
2.1.1+ ,
2.1.1 parameter-type
2.1.2 )
2 SPECIFIC PROCEDURE specific-name
3! ALTER
3.1 option-list
3 REPLACE routine-specification

routine-specification

1? 
1 (
1.1? 
1.1+ ,
1.1 parameter-declaration
1.2 )
2? 
2 option-list
3? SET OPTION-statement
4 SQL-routine-body

parameter-declaration

1! IN
1?
1 OUT
1 INOUT
2 parameter-name data-type

parameter-type

1 data-type

data-type

1 built-in-type
1 distinct-type-name
1 array-type-name

option-list

1! LANGUAGE SQL
2! NOT DETERMINISTIC
2?
2 DETERMINISTIC
3 (1) 

4! MODIFIES SQL DATA
4?
4 READS SQL DATA
4 CONTAINS SQL
5! CALLED ON NULL INPUT
6! INHERIT SPECIAL REGISTERS
7! DYNAMIC RESULT SETS 0
7?
7 DYNAMIC RESULT SETS integer
8? 
8 ALLOW DEBUG MODE
8 DISABLE DEBUG MODE
8 DISALLOW DEBUG MODE
9! FENCED
9?
9 NOT FENCED
10! OLD SAVEPOINT LEVEL 
10?
10 NEW SAVEPOINT LEVEL 
11! COMMIT ON RETURN NO
11?
11 COMMIT ON RETURN YES
12? CONCURRENT ACCESS RESOLUTION
12.1! DEFAULT
12.1 USE CURRENTLY COMMITTED
12.1 U
12.1 WAIT FOR OUTCOME
12.1 W