oracle – PL / SQL如何选择进入表类型的局部变量
发布时间:2021-05-17 12:06:47 所属栏目:站长百科 来源:网络整理
导读:PROCEDURE "ARCHIVE_CASE_LIST"( a_case_id_list IN INLISTNUMBERS)IS l_customers INLISTNUMBERS; INLISTNUMBERS是Oracle数字表; 如何准备预先计算的客户列表并将它们存储在l_customers中,这样我就不需要在其他更新/选择语句中使用那个长选择语句? insert
PROCEDURE "ARCHIVE_CASE_LIST" ( a_case_id_list IN INLISTNUMBERS ) IS l_customers INLISTNUMBERS; INLISTNUMBERS是Oracle数字表; 如何准备预先计算的客户列表并将它们存储在l_customers中,这样我就不需要在其他更新/选择语句中使用那个长选择语句? insert into table(l_customers) <-- fail select distinct case1.customer_id into l_customers from case case1 where case1.case_id in (select column_value from table(a_case_id_list)) and not exists (select 0 from case case2 where case2.customer_id = case1.customer_id and case2.lifecycle_code not in (code_id('LIFECYCLE','A'),code_id('LIFECYCLE','D'))); update customer set customer.lifecycle_code = code_id('LIFECYCLE','A') where customer.customer_id in (select column_value from table(l_customers)); open l_persons for select person_id from person where person.customer_id in (select column_value from table(l_customers));使用带有BULK COLLECT的SELECT语句: select distinct case1.customer_id bulk collect into l_customers from case case1 where case1.case_id in (select column_value from table(a_case_id_list)) and not exists (select 0 from case case2 where case2.customer_id = case1.customer_id and case2.lifecycle_code not in (code_id('LIFECYCLE','D'))); (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |