在PLSQL块中,必须将select语句中的列分配给与SQL语句不同的变量.

第二个开始的SQL语句没有INTO子句,导致错误.

DECLARE

PROD_ROW_ID VARCHAR (10) := NULL;

VIS_ROW_ID NUMBER;

DSC VARCHAR (512);

BEGIN

SELECT ROW_ID

INTO VIS_ROW_ID

FROM SIEBEL.S_PROD_INT

WHERE PART_NUM = 'S0146404';

BEGIN

SELECT RTRIM (VIS.SERIAL_NUM)

|| ','

|| RTRIM (PLANID.DESC_TEXT)

|| ','

|| CASE

WHEN PLANID.HIGH = 'TEST123'

THEN

CASE

WHEN TO_DATE (PROD.START_DATE) + 30 > SYSDATE

THEN

'Y'

ELSE

'N'

END

ELSE

'N'

END

|| ','

|| 'GB'

|| ','

|| RTRIM (TO_CHAR (PROD.START_DATE, 'YYYY-MM-DD'))

INTO DSC

FROM SIEBEL.S_LST_OF_VAL PLANID

INNER JOIN SIEBEL.S_PROD_INT PROD

ON PROD.PART_NUM = PLANID.VAL

INNER JOIN SIEBEL.S_ASSET NETFLIX

ON PROD.PROD_ID = PROD.ROW_ID

INNER JOIN SIEBEL.S_ASSET VIS

ON VIS.PROM_INTEG_ID = PROD.PROM_INTEG_ID

INNER JOIN SIEBEL.S_PROD_INT VISPROD

ON VIS.PROD_ID = VISPROD.ROW_ID

WHERE PLANID.TYPE = 'Test Plan'

AND PLANID.ACTIVE_FLG = 'Y'

AND VISPROD.PART_NUM = VIS_ROW_ID

AND PROD.STATUS_CD = 'Active'

AND VIS.SERIAL_NUM IS NOT NULL;

END;

END;

/

参考

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐