informix-如何呼叫procedure回傳一個結果集

摘要:informix-如何呼叫procedure回傳一個結果集

 

在informix中要使用procedure回傳一個結果集的話,相對於sql server來說是很麻煩的一件事

因為在informix的procedure若要回傳一個資料集,你必須要把你要回傳的每一個欄位都要寫出來,不像sqlserver,不用在return時把每個欄位都打上去.. 

不過我還是找到方法,提供給有需要參考的人,範例如下

 

CREATE PROCEDURE read_address (lastname CHAR(15))--傳入的參數

RETURNING CHAR(15),CHAR(15),CHAR(20),CHAR(15),CHAR(2),CHAR(5)

--欲回傳的參數數目與資料型態

 DEFINE p_lname,p_fname,p_city, CHAR(15),

DEFINE p_add CHRA(20);

DEFINE p_state CHAR(2);

DEFINE p_zip CHAR(5)

Select fname,address1,city,state,zipcode

INTO p_name,p_add,p_city,p_satae,p_zip from customer where lname=lastname

--將取得的資料放置對應的變數內

RETURN p_name,lastname,p_add,p_city,p_satae,p_zip

--欲回傳的參數需與上面的數目及型態相對應

END PROCEDURE