简单总结一下:
表A,有如下字段column1,column2。
表B,有如下字段column1,column2,column3。
存储过程中定义出参 OUT o_param SYS_REFCURSOR ;
sql='SELECT B.column1,B.column2,B.column3 FROM B UNION ALL SELECT A.column1,A.column2,' ' FROM A';
OPEN o_param FOR sql 报错“ORA-01789“ : 查询块具有不正确的结果列数。
改成:
sql='SELECT B.column1,B.column2,B.column3 FROM B UNION ALL SELECT A.column1,A.column2,NULL FROM A';
存储过程执行成功。