如何为绑定变量分配多行值?

时间:2013-11-03 03:12:13

标签: oracle sqlplus quotes

我正在声明并初始化变量:

var test CLOB
exec :test := q'<
many many lines
many many lines
>'

我想我真的不希望这种字符串引用的语法在PL-SQL块之外工作,但是如果有一个SQLPlus等价的话?特别是,是否有一种语法不需要修改引号之间的每一行(在文件中的每个换行符之前放置一个转义符)?我希望这个SQLPlus脚本是由shell脚本生成的,clob的值只是从另一个文件中获取。

1 个答案:

答案 0 :(得分:3)

execute实际上创建并运行了一个PLSQL匿名块,但它必须适合一行。所以你可以改为明确地写这样的PLSQL块:

begin 
:test :=  q'<
many many lines
many many lines
>' ;
end; 
/

如果方便的话。