oracle 行列转换时,动态sql长度超过varchar2的最大长度怎么处理

oracle 行列转换时,动态sql长度超过varchar2的最大长度怎么办
我用case when的方式做行列转换,导致动态脚本超长,超过了varchar2的最大长度4000,请问有没有什么好办法可以解决呢?
------解决思路----------------------
脚本超长?是脚本,还是字段值?
脚本的话,语句是在存储过程里执行,长度限制并不是4000,而是32767
------解决思路----------------------
引用:
Quote: 引用:

脚本超长?是脚本,还是字段值?
脚本的话,语句是在存储过程里执行,长度限制并不是4000,而是32767


是动态脚本超长。
我是用varchar2类型的变量,拼的动态脚本,我这边之前varchar2的长度超过4000就报:character string buffer too small
这是怎么回事?


拆分,多用几个变量就行了,然后拼接执行
------解决思路----------------------
引用:
Quote: 引用:

脚本超长?是脚本,还是字段值?
脚本的话,语句是在存储过程里执行,长度限制并不是4000,而是32767


是动态脚本超长。
我是用varchar2类型的变量,拼的动态脚本,我这边之前varchar2的长度超过4000就报:character string buffer too small
这是怎么回事?


变量定义那里,varchar2(4000)改成varchar2(32767)