select max(column_expression)
from (select t.index_owner,
t.index_name,
t.table_owner,
t.table_name,
wm_concat(t.column_expression) over(partition by t.index_owner, t.index_name, t.table_owner, t.table_name order by column_position) as column_expression
from sys.all_ind_expressions t)
group by index_owner, index_name, table_owner, table_name
我要拼接column_expression字段,由于column_expression是long类型的。执行报:ORA-00997:非法自用long数据类型?请问大家如何解决?怎么改呢?
------解决方案--------------------
官方解释是因为long所存的字符长度很大,而CHAR有长度限制,为了避免长度溢出,你可以通过SUBSTR的方式截取规定的长度作为CHAR型