我想知道为什么即使我将 SERVEROUPUT 变量设置为 ON 也不显示输出。
我有以下匿名块代码:
DECLARE
v_rec_count number:=0;
BEGIN
for rec in (SELECT T_A.ROWID, T_A.OPEN_COUNT, T_B.OPEN_COUNT as NEW_OPEN_COUNT
FROM T_A
INNER JOIN T_B ON
T_A.KEYA = T_B.KEYA
AND T_A.KEYB = T_B.KEYB
AND T_A.OPEN_COUNT <> T_B.OPEN_COUNT)
loop
v_rec_count := v_rec_count + 1;
update T_A t1
set t1.OPEN_COUNT = rec.NEW_OPEN_COUNT,
t1.UPD_USER_ID = 'batch',
t1.UPD_DATE = SYSDATE
where t1.rowid = rec.rowid;
end loop;
dbms_output.put_line ('T_A UPDATE_TOTAL: ' || v_rec_count);
END;
/
Run Code Online (Sandbox Code Playgroud)
当我执行以下代码时,当我通过 sqlplus 运行 sql 文件时,我希望看到 dbms_output.put_line 的输出到 sql 提示符并最终看到日志文件。该块所做的输出只是“PL/SQL 过程已成功运行”。
我已经在块之前设置了 …
我尝试使用以下步骤计算审计日志表的使用情况:
AUD$)测量 dba 段上使用的字节。
select tablespace_name,bytes from dba_segments
where tablespace_name ='SYSTEM'
and SEGMENT_NAME = 'AUD$';
Run Code Online (Sandbox Code Playgroud)重新计算统计数据。
检索统计数据中使用的字节。
select NUM_ROWS * AVG_ROW_LEN as BYTE_USED
from DBA_TABLES where TABLE_NAME = 'AUD$';
Run Code Online (Sandbox Code Playgroud)我从#3 得到的值是#5 的两倍多,为什么分配太多了?