-2
我想通过这个plsql代码显示表信息,但是当它执行过程时,它只显示过程成功。不是output.please的帮助。通过plsql过程显示表数据
CREATE OR REPLACE PROCEDURE CarInfo
AS
V_serial CAR.serial%TYPE;
V_Cid CAR.cid%TYPE;
V_make CAR.make%TYPE ;
V_model CAR.model%TYPE;
V_cyear CAR.cyear%TYPE;
V_color CAR.color%TYPE;
V_trim CAR.trim%TYPE;
V_enginetype CAR.enginetype%TYPE;
V_purchinv CAR.purchinv%TYPE;
V_purchdate CAR.purchdate%TYPE;
V_purchfrom CAR.purchfrom%TYPE;
V_purchcost CAR.purchcost%TYPE;
V_freightcost CAR.freightcost%TYPE;
V_totalcost CAR.totalcost%TYPE;
V_listprice CAR.listprice%TYPE;
BEGIN
SELECT serial, cid, make, model, cyear, color, trim, enginetype, purchinv, purchdate, purchfrom , purchcost, freightcost,
totalcost, listprice
INTO V_serial, V_cid, V_make, V_model, V_cyear, V_color, V_trim, V_enginetype, V_purchinv, V_purchdate, V_purchfrom , V_purchcost, V_freightcost,
V_totalcost, V_listprice
FROM CAR
where cid is null;
Exception
WHEN NO_DATA_FOUND THEN
dbms_output.put_line('No Data Found') ;
DBMS_OUTPUT.PUT_LINE(V_serial||' ' || V_cid||' ' ||V_make||' ' ||V_model||' ' ||V_cyear||' ' ||V_color||' ' ||V_trim||' ' ||V_enginetype||' ' ||V_purchinv||' ' ||V_purchdate||' ' ||V_purchfrom ||' ' ||V_purchcost||' ' ||V_freightcost||' ' ||
V_totalcost||' ' ||V_listprice);
END;
你DBMS_OUTPUT语句是你的异常中之前被写入。所以除非有例外,否则绝不会打印....同样,根据您使用的工具,您通常必须为每个连接启用DBMS_OUTPUT。例如在SQLDeveloper中,您需要通过查看菜单/ DMBS_OUTPUT /点击绿色加选择连接。 –
首先,移动'DBMS_OUTPUT.PUT_LINE(V_serial ...)在EXCEPTION块之上,以便它不在其中;其次,在运行此过程之前,在sqlplus中执行'set serveroutput on;' – g00dy
此外,为什么使用如果只有一个变量,那么有许多变量?在select语句的最后一个dbms_output中使用所有的连接,然后选择SELECT到一个变量中,而“dbms_output”只有这一个变量。 – g00dy