db2“描述”控制台表输出不可读

问题描述 投票:0回答:2

我不知道如何称呼这个“混乱的控制台输出”,所以我不能用谷歌寻求解决方案。

screenshot of terminal

我运行db2 describe indexes for table TABLENAME show detail

我如何以人类可读的格式读取此命令的输出?

bash console formatting db2 db2-luw
2个回答
1
投票
db2 describe indexes for table TABLENAME | vim

没有一种方法可以告诉DB2命令行处理器以不同的格式输出数据。


0
投票

$ 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 @
© www.soinside.com 2019 - 2024. All rights reserved.