2014-07-11 24 views
0

我有一個存儲過程,它返回一些數據。我想用一個過濾器來獲得特定的行使用oracle進行存儲過程過濾11 g

ID  NAME  SCHOOL 

1  Jack  Highschool 
2  Mike  Charter 
3  Merry  University 
4  Ahmet  Ph.D 

我想通過過濾ID來獲得唯一的插孔和Ahmet。

如何實現它?

感謝

+0

您談談「特定行」,但再談談返回多個行。你想要返回什麼?一個'sys_refcursor'? '%rowtype'?一個集合?還有別的嗎? –

+0

我有這張桌子,我想做select * from table where id ='1'and'4' – one1day

+0

你是不是指'IN'?顯然,一行不能同時具有1的「ID」和4的「ID」。你是說你想要一個帶有'sys_refcursor'類型的'OUT'參數的存儲過程嗎? –

回答

0

您可以定義一個表參數存儲過程

CREATE TYPE paramTableType AS TABLE 
(      


    [ID] [varchar](10) NOT NULL,     

) 

,並與該類型與您要使用過濾,然後用select語句像下面所有的ID填一個表一個

CREATE PROCEDURE yourProcedureName 
(


    @TableVariable paramTableType READONLY 


) 


AS 


BEGIN 

select * from yourTable where ID IN (select * from @TableVariable) 
END 

我來自SQL後臺放置嘗試如果適用於Oracle。

  1. 列表項