我正在尝试运行一个检索customerid,quantity,sale_date和product的plsql块。
它提供以下错误消息
END; 错误报告 - ORA-06550:第5行,第31栏: PL / SQL:ORA-00911:无效字符 ORA-06550:第3行第8列: PL / SQL:忽略SQL语句 06550. 00000 - “行%s,列%s:\ n%s” *原因:通常是PL / SQL编译错误。 *操作:
这是我的代码所有帮助将不胜感激。
SET SERVEROUTPUT ON
DECLARE
CURSOR CUR_HISTORY IS
SELECT CUST#, SALE_DATE, QTY, DESCRIPTION
FROM SALES S, PRODUCT P
WHERE CUST# = &CUST#
AND S.PRODUCT# = P.PRODUCT#;
TYPE TYPE_HISTORY IS RECORD (
CID SALES.CUST#%TYPE,
SDT SALES.SALE_DATE%TYPE,
QTY SALES.QTY%TYPE,
PNAME PRODUCT.DESCRIPTION%TYPE);
REC_HISTORY TYPE_HISTORY;
BEGIN
OPEN CUR_HISTORY;
LOOP
FETCH CUR_HISTORY INTO REC_HISTORY;
EXIT WHEN CUR_HISTORY%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('CUSTOMER ID: '
||REC_HISTORY.CID|| ' ORDER DATE: ' ||
REC_HISTORY.ODT|| ' QTY: '
||REC_HISTORY.QTY|| 'PRODUCT: '
||REC_HISTORY.PNAME);
END LOOP;
CLOSE CUR_HISTORY;
END;
答案 0 :(得分:0)
在你的put_line中你有
...
ORDER DATE: ' || REC_HISTORY.ODT
...
您的记录类型TYPE_HISTORY中没有 ODT 字段,而是 SDT 。因此,我认为您的记录类型声明中存在拼写错误。