Вы можете поместить в файл следующее и запустить его из Db2 CLP:
$ db2 -f myfile. sql
--#SET TERMINATOR @
SET SERVEROUTPUT ON@
BEGIN
DECLARE L_INDSCHEMA VARCHAR(128);
DECLARE L_INDNAME VARCHAR(128);
DECLARE L_UNIQUE VARCHAR(128);
DECLARE L_COLCOUNT SMALLINT;
DECLARE L_IDXTYPE CHAR(26);
DECLARE L_IDXPART CHAR(18);
DECLARE L_IDXID SMALLINT;
DECLARE L_DATATYPE VARCHAR(128);
DECLARE L_HASHED CHAR(1);
DECLARE L_LENGTH SMALLINT;
DECLARE L_PATTERN VARCHAR(500);
DECLARE L_COLNAMES VARCHAR(1984);
DECLARE SQLSTATE CHAR(5);
DECLARE l1 RESULT_SET_LOCATOR VARYING;
CALL ADMIN_CMD('DESCRIBE INDEXES FOR TABLE SYSIBM.SYSTABLES SHOW DETAIL');
ASSOCIATE RESULT SET LOCATOR (l1) WITH PROCEDURE ADMIN_CMD;
ALLOCATE C1 CURSOR FOR RESULT SET l1;
L1: LOOP
FETCH C1 INTO
L_INDSCHEMA, L_INDNAME, L_UNIQUE, L_COLCOUNT, L_IDXTYPE, L_IDXPART
, L_IDXID, L_DATATYPE, L_HASHED, L_LENGTH, L_PATTERN, L_COLNAMES
;
IF SQLSTATE = '02000' THEN LEAVE L1; END IF;
CALL DBMS_OUTPUT.PUT_LINE(x'0a' || RTRIM(L_INDSCHEMA) || '.' || L_INDNAME );
CALL DBMS_OUTPUT.PUT_LINE(' UNIQUE RULE : ' || L_UNIQUE);
CALL DBMS_OUTPUT.PUT_LINE(' COLUMN COUNT: ' || L_COLCOUNT);
CALL DBMS_OUTPUT.PUT_LINE(' INDEX TYPE : ' || L_IDXTYPE);
--CALL DBMS_OUTPUT.PUT_LINE(' INDEX PART : ' || L_IDXPART);
CALL DBMS_OUTPUT.PUT_LINE(' IID : ' || L_IDXID);
CALL DBMS_OUTPUT.PUT_LINE(' COLUMN NAMES: ' || L_COLNAMES);
END LOOP;
CLOSE C1;
END
@