如何在过程的where子句中使用数组?

时间:2019-07-10 07:40:52

标签: sql arrays oracle stored-procedures

我必须选择表演示的数据行,其中指定列值与数组的任何元素匹配。我在代码的“哪里”部分遇到问题。如何比较数组和指定列的值?

CREATE OR REPLACE TYPE array_collection IS VARRAY(100) OF VARCHAR2(50);
--
declare
--Initialization 
var_array array_collection:=array_collection();
f VARCHAR2(100);
begin
  ---Storing 3 elements
 var_array.extend(3);
 var_array(1):= 'Software Engineer';
 var_array(2):= 'Account Manager';
 var_array(3):= 'Operations Team Leader';


select full_name into f from demo where designation member of var_array;


end;

我希望从表演示中选择所有标有“软件工程师”,“客户经理”,“运营团队负责人”的行。

1 个答案:

答案 0 :(得分:0)

CREATE OR REPLACE TYPE array_collection IS VARRAY(100) OF VARCHAR2(50);
--
declare
--Initialization 
var_array array_collection:=array_collection();
f VARCHAR2(100);
begin
  ---Storing 3 elements
 var_array.extend(3);
 var_array(1):= 'Software Engineer';
 var_array(2):= 'Account Manager';
 var_array(3):= 'Operations Team Leader';


select full_name into f from demo where designation in (select * from table(var_array));


end;