使用oracle 11 g在存储过程中进行过滤

时间:2014-07-11 17:12:05

标签: sql oracle11g

我有一个返回一些数据的存储过程。我想使用过滤器来获取特定的行

ID      NAME      SCHOOL

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

我想通过过滤ID来获得杰克和艾哈迈德。

如何实现它?

由于

1 个答案:

答案 0 :(得分:0)

您可以为存储过程定义表参数

CREATE TYPE paramTableType AS TABLE
(                     


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

)

并使用此类型填充一个表格,其中包含您要过滤的所有ID,然后使用如下所示的选择语句

CREATE PROCEDURE yourProcedureName
(


  @TableVariable paramTableType  READONLY


)


AS  


BEGIN

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

我来自SQL背景,如果适用于Oracle,请尝试。

  1. 列表项