在SQL中插入单行,但从文件加载内容

时间:2013-10-21 21:54:57

标签: sql oracle oracle11g

我可以像这样INSERT进入SQL:

INSERT INTO MyTable VALUES (0, 'This is some text...');

然而,如果我想要这是一些文本...... C:\SomeFile.txt的内容。 Oracle中是否有一种方法可以实现这一目标?

我稍微挖掘了文档并找到了LOAD FILE方法,但它似乎是批量加载数据。例如,它需要FIELDS TERMINATED BY参数,什么不是。我想简单地插入一行,并通过本地磁盘上的文件内容设置一个列。

3 个答案:

答案 0 :(得分:1)

我第一次回答问题,请原谅我。

如果您正在使用PHP(您可能不是,但这是我所知道的),那么您可以这样做:

文件:“importantfile.php”

$variable 1 = "0";
$variable 2 = "This is some text...";

插入文本的文件:“index.php”

require "importantfile.php";
$query = mysql_query("INSERT INTO MyTable VALUES ('$variable1', '$variable2')");

我希望这会以某种方式帮助你:)

答案 1 :(得分:1)

要做到这一点,我认为你必须使用PL / SQL。这在技术上是一个“高级SQL”。 搜索一下PL / SQL。您可以将SQL直接复制到PL / SQL中并使用相同的数据库。

答案 2 :(得分:1)

您永远不应该从DATABASE SERVER的文件系统中读取文件以插入数据库。

你为什么要这样做?您真的应该在应用程序代码中读取该文件,然后通过标准SQL插入字符串或二进制数据。

如果你真的必须这样做,你需要使用oracle UTL_FILE函数。并写一些PL / SQL来存储在变量中,然后插入。