使用SQLPLUS在Oracle中插入多行字符串
我有一个SQL脚本,它将把一个长字符串插入到表中。该字符串包含一个新行(并且这个新行是绝对必要的),因此当它被写入文本文件时,查询被拆分成多行。类似于:
insert into table(id, string) values (1, 'Line1goesHere
Line2GoesHere
blablablabla
');
这在Toad中运行正常,但当我将其保存为.sql文件并使用SQLplus运行它时,它将每行视为单独的查询,这意味着每行都将失败(因为insert into table(id, string) values (1, 'Line1goesHere
、Line2GoesHere
不是格式良好的脚本。
SP2-0734: unknown command beginning "Line2GoesHere" - rest of line ignored.
是否有解决此问题的方法?
解决方案
启用SQLBLANKLINES
以允许在SQL语句中使用空行。例如:
SET SQLBLANKLINES ON
insert into table(id, string) values (1, 'Line1goesHere
Line2GoesHere
blablablabla
');
这个问题的前提略有错误。默认情况下,SQL*Plus确实允许多行字符串。只有空白行才会导致问题。
相关文章