【发布时间】:2020-03-20 09:42:46
【问题描述】:
我是 pl sql 编程的新手。我有以下光标代码。
DECLARE
CURSOR cs_get_pricing(ca_ite_id VARCHAR2, ca_prg_id NUMBER) IS
SELECT pri_ite_id,
pri_prg_id,
pri_price,
pri_regular_price,
pri_discount_period
FROM PRICE
WHERE pri_ite_id = ca_ite_id
AND pri_prg_id = ca_prg_id
AND TRUNC(SYSDATE) BETWEEN pri_startdt AND pri_enddt;
rec_get_pricing cs_get_pricing%ROWTYPE;
BEGIN
OPEN cs_get_pricing('BTSTNDM203005', 700);
FETCH cs_get_pricing INTO rec_get_pricing;
DBMS_OUTPUT.PUT_LINE('test');
CLOSE cs_get_pricing;
dbms_output.put_line(rec_get_pricing.pri_regular_price);
END;
此代码已编译,但未打印任何值。我检查了表格,它有上述值的数据。如何打印光标值?
【问题讨论】:
-
您使用的是哪个客户端?在Oracle自带的工具(SQL*Plus、SQL Developer、SQLcl)中可以
set serveroutput on查看脚本输出; GUI 工具也有其他显示方式。 -
看起来你可以在没有任何光标的情况下测试
dbms_output.put_line('test')。
标签: sql oracle plsql database-cursor