sql - 如何在过程的 where 子句中使用数组?
问题描述
我必须选择表演示的数据行,其中指定列值与数组的任何一个元素匹配。我在代码的“位置”部分遇到问题。如何比较数组和指定列的值?
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;
我希望选择表演示中指定为“软件工程师”、“客户经理”、“运营团队负责人”的所有行。
解决方案
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;
推荐阅读
- javascript - 我如何检查一个对象是否存在于数组中,如果它不在数组中以推送它
- android - 语音识别和录音机在某些设备中不能同时工作
- c++ - 如何更改 QGraphicsItem 对象的颜色?
- javascript - 状态未在本机反应中更新
- reactjs - 用户可以更改 Chrome 中 Redux/Mobx 的值以访问受限视图吗?
- c# - 如何更改搜索分隔符号?
- android - 使用工厂时模拟 dagger 2 模块
- c++ - C ++ - 负数和正数之间的比较返回false
- python - 一些 python 列表操作的时间复杂度是多少?
- r - 如何在 R Markdown 中捕获内联代码块中的错误?