我有以下代碼,我正在使用一個變量將值列表傳遞給多個sql語句(我無法保存在表中,因爲我不'有權限,不希望在所有的Sql部分都保留這個列表)Oracle Sql開發人員...在DEFINE語句中使用Continuations字符
只要所有的值都在一行上,它就可以正常工作......但是因爲我有這麼多值;我想將它拆分成多行並使用連字符「 - 」
我跑Oracle Sql Developer 2.1.1.64
對Oracle 10g
(我也是在PL/Sql Developer
嘗試這樣做,它在那裏失敗了也一樣)
--=========================================
define subclasses = ('10-1010-10','10-1010-15','10-1010-20', -
'10-1010-25','10-1010-30') --- there are another 60 values...
select item from item_master where ((subclass) in &&subclasses);
Select Price from Item_prices where ((subclass) in &&subclasses);
--=========================================
我收到以下錯誤
ORA-01722: invalid number
01722. 00000 - "invalid number"
,因爲它是解析代碼
select item from item_master where ((subclass) in ('10-1010-10','10-1010-15',
'10-1010-20', -'10-1010-25','10-1010-30'))
...在SQL中保留繼續代碼' - '.... tho它會轉到值的第二行
如果我刪除' - '...它只處理第一行,並解析爲
select item from item_master where ((subclass) in ('10-1010-10','10-1010-15','10-1010-20',)
...失去了第二個值的第n行(並引發錯誤,因爲它端w /「」和不具有最終‘)’)
謝謝
添加'noprint'到'column'線將停止打印出來的字符串,這可能使更多一點愉快;如果你還沒有這樣做,那麼'set verify off'可能會有助於隱藏替換。 (對於OP的好處,顯然,我很確定託尼知道這一點... * 8-) –
謝謝 - 只是嘗試以下... column subc new_value subclasses select q'[('10-1010-10','10-1010-15','10-1010-20','10-1010-25','10-1010-30' ,'10-1010-35','10-1010-40','10-1010-45','10-1015-10','10-1015-15','10-1015-20',' 10-1015-25','10-1015-30','10-1015-35','10-1015-40','10-1015-45','10-1020-10','10 - 1020-15','10-1020-20','10-1020-25','10-1020-30','10-1020-35','10-1020-40','10-1020- 45','10-1020-50','10-1020-55','10-1020-60','10-1020-65')]'作爲來自雙重的子集; 從item_master中選擇項目其中(&&子類中的子類); – user3485782
但它仍然提示子類: 解析的SQL顯示了item_master 選擇項,其中(以空子類) 所以纔沒有在&&子類拉在所有 THANKS值 – user3485782