我有一个CURSOR c1
声明 a 的过程。然后我想在每个角色c1
提取中输出列。
FOR rec IN c1
LOOP
DBMS_OUTPUT.PUT_LINE (rec.branchno || CHR(9) || rec.street || CHR(9)
|| rec.city || CHR(9) || rec.postcode);
END LOOP;
我现在CHR(9)
用来输出一个标签。但是,有时rec.city
有超过 8 个字符,因此一个制表符会将以下内容postcode
向右推一个制表符,如下面的第二行输出所示。
B003 163 Main St. Glasgow G11 9QX
B007 16 Argyll St. Aberdeen AB2 3SU
B005 22 Deer Rd. London SW1 4EH
有没有办法DBMS_OUTPUT
自动调整标签?例如,
IF STRLEN(rec.city) < 8
PUT ( CHR(9) || CHR(9) )
ELSE
PUT ( CHR(9) )
END IF;
如果不是,生成这种格式化输出的行业惯例是什么?
谢谢您的帮助。