我尝试做以下SELECT语句在DB2存储过程:DB2别名在Select语句连接字符串
FOR c AS (SELECT o.id id
,o.col1 col1
,o.title title
,o.locale locale
,lower(desc1.detail1) CONCAT lower(desc1.detail2) CONCAT lower(desc1.detail3) CONCAT lower(desc1.detail4) description
,lower(absc1.detail1) || lower(absc1.detail2) || lower(absc1.detail3) || lower(absc1.detail4) abstract
FROM table_name o
INNER JOIN desc_table ON o.id = desc1.some_id
AND o.desc1 = desc1.id
INNER JOIN table_detail absc1 ON o.id = absc1.owner_id
AND o.abstract = absc1.id
WHERE o.id = xid
) DO
,并采取了以下错误:
[IBM][CLI Driver][DB2/NT64] SQL0789N The data type for parameter or SQL variable "DESCRIPTION" is not supported in the routine, compound SQL statement, or parameter list of a cursor value constructor. LINE NUMBER=... SQLSTATE=429BB
的问题是在lower(desc1.detail1) CONCAT lower(desc1.detail2) CONCAT lower(desc1.detail3) CONCAT lower(desc1.detail4) description
行 似乎别名description
不适用于连接字符串。
同样的情况是:
lower(absc1.detail1) || lower(absc1.detail2) || lower(absc1.detail3) || lower(absc1.detail4) abstract
也许您有什么建议?
谢谢。
尝试增加AS:'低(desc1.detail1)CONCAT较低(desc1.detail2)CONCAT较低(desc1.detail3)CONCAT较低(desc1.detail4)AS description' – Mikhail