wmsys.wm_concat函数超过4000长度的问题

[复制链接]
查看11 | 回复5 | 2012-5-21 10:19:41 | 显示全部楼层 |阅读模式
场景描述:
1、t_task_config表中定义了需要处理的表及该表的需要处理的列;
select wmsys.wm_concat(column_name)into v_columnfrom t_task_config where task_id=w_taskid;

2、根据t_task_config表中定义的结果,从源表(v_table)中,把查询结果插入到新建的表t_result中,t_result中的列跟源表的列名一致
v_sql:='create table t_result as select'||v_column||' rowid as row_idfrom '||v_table||';' ;
现在碰到一个问题,源表中列很多,在t_task_config中定义的列,加起来超过了4000字符,这个地方有没有其他方法可以处理?

谢谢大家!

回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
clob
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
这个方法网上可以找到源码,修改下就可以返回clob类型了
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
设置成clob类型的
create table t_result as select'||v_column||' rowid as row_idfrom '||v_table||';'
这句怎么执行?创建不了表
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
cz6024 发表于 2016-5-11 13:43
设置成clob类型的
create table t_result as select'||v_column||' rowid as row_idfrom '||v_table|| ...

你似乎在ROWID前面缺少逗号。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
cz6024 发表于 2016-5-11 13:43
设置成clob类型的
create table t_result as select'||v_column||' rowid as row_idfrom '||v_table|| ...

动态sql啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行