從csv

2013-07-30 18 views
0

構建WITH子句中的表我有一個從表中轉儲的csv文件。
現在我想從該csv文件使用WITH構建表。
我曾試過取每列的所有值,用逗號分隔變量,然後用WITH做聯合插入,但這是不可能的。
是否有可能通過插入到逗號分隔值沒有循環表?
咱們說
$ roll_no = 「1,2,3,4,5」
$ NAME = 「1,名稱2,名稱3,名稱4,NAME5」
roll_no名
-------- -------
1名1
2名2
3 NAME3
4 NAME4
5 NAME5
是否有任何其他方式做到這一點? 謝謝從csv

+1

通過在表傾倒CSV文件你的意思是它被放置在一個表中的意思了CSV文件中的每一列是Oracle的單獨列的許多內置的和用戶可建過程中的一個正常嗎?這聽起來像你不是這個意思,在這種情況下,在繼續閱讀之前,先閱讀關於SQL * Loader和外部表的內容。 – Ben

+0

或者你的意思是你已經提取了csv文件,並且你正在嘗試使用它進行SQL查詢? – Ben

+0

@Ben是的,我做選擇COL1轉儲到CSV像

回答

1

可以通過你的逗號分隔的字符串像下面給出的方式。這會將整個逗號分隔的字符串轉換成不同的行。

SELECT trim(x.column_value.extract('e/text()')) COLUMNS from t t, table  
(xmlsequence(xmltype('<e><e>' || replace(valuestring,--put comma seperated string here 
':','</e><e>')|| 
'</e></e>').extract('e/e'))) x ); 
+0

謝謝...這正是我想要的。 –