【发布时间】:2018-07-14 11:40:26
【问题描述】:
在我的代码中有一个在屏幕上显示消息的函数。但是当我开始时,我看不到结果。
我猜这条线行不通。
UPDATE EMPLOYEES SET COMMISSION_PCT = NEWCOMMISSION WHERE LINES.COMMISSION_PCT IS NULL;
是这样吗?
我使用的是 Oracle XE 112,我使用的是浏览器。
完整代码
CREATE OR replace PROCEDURE Zadacha31
IS
lengthphone INTEGER;
substrcommission VARCHAR2(50);
newcommission FLOAT;
info FLOAT;
CURSOR get_data IS
SELECT *
FROM employees;
BEGIN
FOR lines IN get_data LOOP
IF lines.commission_pct IS NULL THEN
lengthphone := Length(lines.phone_number);
substrcommission := Substr(lines.phone_number, lengthphone - 1, 2);
newcommission := To_number('.'
||substrcommission);
UPDATE employees
SET commission_pct = newcommission
WHERE lines.commission_pct IS NULL;
dbms_output.Put_line(lines.commission_pct);
END IF;
END LOOP;
END;
【问题讨论】:
-
你是怎么调用这个程序的,你有没有包括
SET SERVEROUTPUT ON? -
@KaushikNayak 我将这个过程称为
BEGIN ZADACHA31(); END;我从未做过SET SERVEROUTPUT ON,但PUT_LINE有效。现在我想在 BEGIN 之前输入SET SERVEROUTPUT ON,但出现错误 - ORA-00922: missing or invalid option
标签: oracle stored-procedures oracle-xe