在 Oracle 中,該STAFF表有四列:
id, first_name, last_name, salary
列id和salary是NUMBER資料型別,而列first_name和last_name是VARCHAR2(20)資料型別。
這是操作 STAFF 表的 PL/SQL 代碼。有什么錯誤嗎?
v_id NUMBER := 200;
v_fname VARCHAR2(20);
v_lname
v_sal NUMBER;
BEGIN
SELECT first_name, last_name, salary
INTO v_fname, v_lname
FROM STAFF
WHERE id=v_id;
DBMS_OUTPUT.PUT(v_fname||‘ ‘||v_fname||’ makes ’||v_sal);
uj5u.com熱心網友回復:
你需要:
DECLARE在開始時。END;最后,然后/在換行符上。'對于字串文字而不是‘DBMS_OUTPUT.PUT_LINE而不是DBMS_OUTPUT.PUT(它不會將行重繪 到緩沖區)。
DECLARE
v_id NUMBER := 200;
v_fname VARCHAR2(20);
v_lname VARCHAR2(20);
v_sal NUMBER;
BEGIN
SELECT first_name, last_name, salary
INTO v_fname, v_lname, v_sal
FROM STAFF
WHERE id=v_id;
DBMS_OUTPUT.PUT_LINE(v_fname||' '||v_fname||' makes '||v_sal);
END;
/
db<>在這里擺弄
uj5u.com熱心網友回復:
看起來您沒有提供DECLARE宣告,并且遺漏了v_lname. 你也沒有包括v_sal在INTO條款中。試試這個:
DECLARE
v_id NUMBER := 200;
v_fname VARCHAR2(20);
v_lname VARCHAR2(20);
v_sal NUMBER;
BEGIN
SELECT first_name, last_name, salary
INTO v_fname, v_lname, v_sal
FROM STAFF
WHERE id=v_id;
DBMS_OUTPUT.PUT(v_fname||' '||v_fname||' makes '||v_sal);
END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468900.html
