问题描述
我正在尝试在存储过程中运行以下简单选择:
P1: BEGIN
DECLARE v_uid INTEGER;
SELECT UID
INTO v_id
FROM TableA
UNION
SELECT UID
FROM TableB
;
END P1
它在z / OS数据库上工作正常,但在LUW数据库上,我收到以下错误:
Create stored procedure returns sqlCODE: -104, sqlSTATE: 42601.
TEST: 25: An unexpected token "SELECT UID
FROM TABLEB" was found following "FROM TABLEA UNION".
Expected tokens may include: "<space>"..
sqlCODE=-104, sqlSTATE=42601, DRIVER=4.24.92
LUW是否不允许使用UNION关键字?
解决方法
您必须将并集放置在子选择中,例如
select uid into v_id from
(select uid from tablea
union select uid from tableb);