阅读UTL文件时如何将光标移动到new_line?
Posted
技术标签:
【中文标题】阅读UTL文件时如何将光标移动到new_line?【英文标题】:How to move cursor to new_line while reading through UTL file? 【发布时间】:2010-12-06 09:00:16 【问题描述】:我的要求是读取一个文件并从每一行获取一些数据。 例如:假设我的文件包含这些数据:
a b c d
e f g h
我想读 a b c,读完 a b c 后,我想直接移到第二行读 e。 是否有任何功能可以让光标从当前行开始下一行(想象光标位置在当前行的中间,我需要直接跳转到下一行的开头“到 e here”)。
请告诉我!!
【问题讨论】:
【参考方案1】:UTL_FILE.GET_LINE 一次从文件中读取一行数据。所以第一次调用它会读到'a b c d',第二次调用它会读到'e f g h'。我不知道您所说的“光标位置在当前行的中间”是什么意思。到目前为止,您可以发布您的代码吗?
【讨论】:
+1。有效地使用GET_LINE
意味着“光标”始终位于行首。
我的要求是读到 c 然后将光标移动到下一行的开头,如果我会得到行 d 也会被感染。我不想直接移动到下一行开始。
你不能。您必须阅读整行,其中包括“d”。然后在您自己的代码中解析它以删除“d”。 UTL_FILE 不会检查它读取的行的内容,它只会返回整行。【参考方案2】:
使用 get_line 读取一行后,使用 instr 和 substr 仅获取 a b c 然后转到下一行。
【讨论】:
以上是关于阅读UTL文件时如何将光标移动到new_line?的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 utl_file write plsql 将数据写入 .csv 文件时处理中文/日文字符