我正在尝试为一个很长的SQL语句创建一个Oracle SQL宏。但是由于SQL语句的长度,我得到了“字符串文字太长”错误。有没有人找到解决这个错误的方法?
创建宏时的示例:
CREATE OR REPLACE FUNCTION MACRO_FUNC(arg1 VARCHAR2)
RETURN CLOB SQL_MACRO IS
BEGIN
RETURN TO_CLOB('
*Very long SELECT statement here*
');
END;
首先,我将SELECT语句作为字符串字面量(例如。q'*SELECT语句“),但是因为我得到了”字符串文字太长“错误,我把SELECT语句扔到了TO_CLOB()函数中,但是我仍然得到了同样的错误。
1条答案
按热度按时间gopyfrb31#
问题是字符串文字
'...'
在每个文字中被限制为4000字节。你需要做的是:将文字拆分为更小的文字;或者从文件中读取文字。在您的案例中:
或: