sqlinformix12.10fc6-一次强制转换多列multiset,但不创建用户定义的类型

dy2hfwbg  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(164)

我将展示我的工作和我需要的帮助,如下所示
[works]-这里我正在动态创建一个multiset,而不需要创建用户定义的类型。 SELECT * FROM TABLE(MULTISET{ ROW(100, 'Kline'), ROW(101, 'Smith'), ROW(102, 'Jones'), ROW(103, 'Brown')}) applicant(aplicantid, lastname) INTO TEMP APPLICANT; 但它只起作用,因为字符串名称的长度都是5个字符。
[不起作用]如果字符串大小不同,我将收到“type%s not found,code-9628”,如下所示: SELECT * FROM TABLE(MULTISET{ ROW(10, 'Software Developer') ,ROW(11, 'Business Analyst') ,ROW(12, 'Data Analyst') }) [不恰当的解决方案]我刚刚能够克服第2项中的错误,将每一行都单独铸造 SELECT * FROM TABLE ( MULTISET{ ROW(10, 'Software Developer') :: ROW (x int, y varchar(20) ) , ROW(11, 'Business Analyst') :: ROW (x int, y varchar(20) ) , ROW(12, 'Data Analyst ') :: ROW (x int, y varchar(20) ) } ) . 对所有行重复相同的强制转换是非常令人沮丧的。
[我需要的示例]我需要一次转换整个multiset(),甚至是table(),但不需要创建用户定义的类型,就像我在第3项中所做的那样。示例(不起作用)= SELECT * FROM TABLE(MULTISET{ ROW(10, 'Software Developer') ,ROW(11, 'Business Analyst') ,ROW(12, 'Data Analyst') }) :: TABLE(MULTISET{ROW(x int, y varchar(20))}) 所以所有的内容都会一次转换。
ps:请注意服务器没有数据叶片模块。
真的谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题