【发布时间】:2013-07-30 04:32:55
【问题描述】:
我有一个从表中转储的 csv 文件。
现在我想使用该 csv 文件中的 WITH 构建表。
我曾尝试获取每列的所有值,在单独的变量中用逗号分隔,然后通过在 WITH 中进行联合来插入,但这是不可能的。
是否可以通过在没有循环的情况下使用逗号分隔值插入表中?
让我们说
$roll_no = "1,2,3,4,5"
$name = "name1,name2,name3,name4,name5"
roll_no 名称
---------------
1 个名字1
2 名称2
3 名称3
4 名称4
5 名称5
还有其他方法吗?
谢谢
【问题讨论】:
-
通过转储到表中的 csv 文件是否意味着它被许多内置和用户可构建的过程之一正确放置在表中,这意味着 csv 文件中的每一列都是单独的列甲骨文?听起来您不是那个意思,在这种情况下,请先阅读有关 SQL*Loader 和外部表的信息,然后再继续。
-
或者您的意思是您已经提取了 csv 文件并尝试使用它进行 SQL 查询?
-
@Ben 是的,我已经像
一样转储到 csv -
@Ben 是的,我已经将表格转储到 csv 中,例如 1,name1 2,name2 3,name3 .. 通过执行 select col1 || ',' || col2 来自表;现在我想在 WITH 中构建表,因为我不想创建任何物理表。
-
请查看类似问题的答案:stackoverflow.com/a/11721051/146325
标签: sql oracle csv plsql subquery-factoring