Deallocates a SQL descriptor.
exec sql deallocate descriptor descriptor_name end-exec
The name of the SQL descriptor that contains information about the dynamic parameter markers or return values in a prepared statement.
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 NUMCOLS PIC S9(9) COMP.
01 COLNUM PIC S9(9) COMP.
01 COLTYPE PIC S9(9) COMP.
EXEC SQL END DECLARE SECTION END-EXEC.
...
EXEC SQL ALLOCATE DESCRIPTOR big_desc WITH MAX 100 END-EXEC.
EXEC SQL PREPARE dynstmt FROM "select * from huge_table" END-EXEC.
* Assume that only one row of data is returned.
EXEC SQL EXECUTE dynstmt INTO SQL DESCRIPTOR big_desc END-EXEC.
EXEC SQL GET DESCRIPTOR big_desc :NUMCOLS = COUNT END-EXEC.
MOVE 1 TO COLNUM.
PERFORM GET-DESC-LOOP UNTIL COLNUM > NUMCOLS.
EXEC SQL DEALLOCATE DESCRIPTOR big_desc END-EXEC.
...
GET-DESC-LOOP.
EXEC SQL GET DESCRIPTOR big_desc VALUE
:COLNUM :COLTYPE = TYPE END-EXEC.
DISPLAY "COLUMN TYPE = ",COLTYPE.
ADD 1 TO COLNUM.
If you attempt to deallocate a SQL descriptor that has not been allocated, an error occurs.
allocate descriptor