簡體   English   中英

存儲過程選擇

[英]Stored Procedure Select

好吧,我一直在嘗試構建一個SP,以幫助我從名為TIKEt的表中獲取所有字段,這是我的表TIKET:

TABLE TIKET: 
IDTIKET    TYPE NUMBER
NOMBRE   TYPE VARCHAR2
EDITORIAL TYPE VARCHAR2
AUTOR  TYPE VARCHAR2
EDICION  TYPE VARCHAR2
PRECIO  TYPE NUMBER
CANTIDAD TYPE NUMBER,
FECHA  TYPE DATE default sysdate
NOMBRE_USER  TYPE VARCHAR2

這是我的SP代碼:

`create or replace procedure get_tiket
(
 idtiket_ out number,
 nombres_ out varchar2,
 editorial_ out varchar2,
 autor_ out varchar2,
 edicion_ out varchar2,
 precio_ out number,
 cantidad_ out number,
 fecha_ out date,
 nombre_user_ in varchar2
)
is 
begin
select idtiket, nombre, editorial, autor, edicion, precio, cantidad, fecha into idtiket_, nombres_, editorial_, autor_, edicion_, precio_, cantidad_, fecha_ from tiket
where nombre_user=nombre_user_;
end;

/`

當我在SQLPLus中運行此代碼時,我說:“創建了過程”,我認為這意味着可以嗎? 但是當我叫這個Sp時:exec get_tiket('ale'); 它給了我這個錯誤:

call get_tiket('ale');

第1行發生錯誤:

ORA-06553:PLS-306:“ GET_TIKET”調用中參數的數量或類型錯誤

我想要的是從表TIKET中獲取所有字段,具體取決於我需要的用戶! 請感謝您的幫助!

您在存儲過程中有一堆out參數,還必須傳遞它們:

DECLARE idtiket number;
-- other variables
BEGIN
  EXEC get_tiket(idtiket, ..... 'ale');
END; 

另外,在這種情況下,我想函數會比過程更好地工作...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM