1
4
取决于文件的大小。如果它相对较小,那么存储过程可以将其全部读取到一个大字段(varchar2、clob或blob)中,并将其作为值返回。 也值得研究 external tables 您可以从文件中进行选择,就像它是一个普通的数据库表一样。 |
2
2
首先,我建议尝试Gary推荐的外部表方法-这很有可能满足您的要求,并允许您将文件中的数据视为调用代码中表中的行。 我的下一个建议是编写一个函数来封装utl_文件访问,并使用管道行返回行(这样,在代码开始将行返回到客户机之前,您不需要将整个文件读取到内存中)。 这个函数可以返回一个引用光标(JDBC当然可以处理),基本上是一个结果集的句柄,或者返回一个对象类型集合。
然后通过在select中强制转换函数的结果来访问该函数
如果您没有函数的任何参数,或者可以从表中派生这些参数,那么您甚至可以将其包装在视图中。 ref cursor方法几乎将这个SQL包装在一个函数中。
但是,由于所有这些基本上都是重新发明外部表,所以要仔细检查它们是否满足您的需求。 |
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
Anar · Oracle SQL用户定义函数 2 年前 |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |