2014-04-16 73 views
0

表DESC顯示通過程序表值:通過參數的Oracle SQL

Product (Prodid, Prodesc, Price, Stock) 
Purchase (Purid, Proid, qty, supname) 
Sales (Saleid, Proid, qty, custname) 

我需要建立一個接受的產品編號,並顯示它的所有銷售和購買記錄的過程。

這是我的代碼:

create or replace procedure display (p in varchar2) 
AS 
pur_dis purchase%rowtype; 
sal_dis sales%rowtype; 
BEGIN 
select * INTO pur_dis from purchase where proid=p; 
select * INTO sal_dis from sales where proid=p; 
end; 
/

當我嘗試執行它顯示

只有「成功地完成了PL/SQL程序」但我需要的要顯示的購表人的價值觀和銷售表值爲那個特定的ID。該怎麼辦?

回答

0

如果您需要在您的工作表中顯示,你可以使用dbms_output.put_line

使程序必要的修改,顯示:

create OR REPLACE 
PROCEDURE display(
      p IN VARCHAR2) 
AS 
    pur_dis purchase%rowtype; 
    sal_dis sales%rowtype; 
BEGIN 
    SELECT * INTO pur_dis FROM purchase WHERE proid=p; 
    dbms_output.put_line('Displaying your values:'||pur_dis.Purid||' '||pur_dis.Proid||' '||pur_dis.qty||' '||pur_dis.supname); 
    SELECT * INTO sal_dis FROM sales WHERE proid=p; 
END; 
/

調用的程序:

SET SERVEROUTPUT ON 
begin 
display(value_of_p); 
end; 
/
+0

謝謝。 。 :).. 有效 ! :) – Goks