我想問一下,是否可以使用遊標來循環字符串值?例如,我有我的「.txt文件」報告3標題欄:如何在ORACLE上使用spool來使列名稱動態化?
COLUMN "DATE" format a15
COLUMN "SUBJECT" format a8
COLUMN "CLASS" format a10
,結果是這樣的:現在
DATE SUBJECT CLASS
---------------------- ------------------ -----------------
08-Apr-2016 Science 10
08-Apr-2016 Social 11
,列名仍然是通用的或硬編碼。然後,我想返回字符串值來替換「DATE」,「SUBJECT」和「CLASS」爲動態。因此,請按照加載到數據庫的數據進行操作。
例如: 我有一個與這些數據填充表:
TITLE_COLUMN1 TITLE_COLUMN2 TITLE_COLUMN3
DATE SUBJECT CLASS
我想選擇TITLE_COLUMN1,TITLE_COLUMN2,TITLE_COLUMN3值是對我的列名。那麼更好的方法是什麼?使用
光標
或使用
可變
?
感謝您的建議和幫助。
究竟是你想實現什麼目標?如果你不關心COLUMN設置,你可以編寫一個PL/SQL塊來構建一個動態查詢,打開一個遊標,然後使用'print'命令打印遊標結果。但是你將無法使用COLUMN格式化命令。如果你的目標只是生成一個輸出文件,那麼我傾向於使用'utl_file',這可能是基於Tom Kyte的SQL * Unloader,而不是試圖跳過SQL * Plus中所需的所有環節,如果你想做一堆格式化。 –