循环到游标中,直到oracle中的每个IF-ELSE都为true
我已经编写了一个游标,希望在其中循环每一列,直到它变为真。所以,如果所有if语句都匹配true,那么我希望将数据插入有效表,或者最后将不正确的数据插入无效表 下面是光标。请让我知道我的步骤是否准确,或者我是否需要对此进行任何更改 创建或替换过程光纤传输有效数据 开始 选择rj_span_id作为输入电流, rj_维护_区域_名称, rj_维护_区域_代码 来自app_fttx。transmedia@sat 环 如果cur\u r.rj\u span\u id>为“0”,则 elsif cur_r.rj_maintenance_zone_name='aa'然后 elsif cur_r.rj_维护区代码='A123',则 插入到有效表中 span\u id、维护\u区域\u名称、rj\u维护\u区域\u代码 值cur_r.rj_span_id、cur_r.rj_维护区域名称、cur_r.rj_维护区域代码; 其他的 插入到无效表中 span\u id、维护\u区域\u名称、rj\u维护\u区域\u代码 值cur_r.rj_span_id、cur_r.rj_维护区域名称、cur_r.rj_维护区域代码; 端环; 端光纤传输有效数据 不是那样的;如果是错误的。看看这个循环到游标中,直到oracle中的每个IF-ELSE都为true,oracle,if-statement,stored-procedures,cursor,Oracle,If Statement,Stored Procedures,Cursor,我已经编写了一个游标,希望在其中循环每一列,直到它变为真。所以,如果所有if语句都匹配true,那么我希望将数据插入有效表,或者最后将不正确的数据插入无效表 下面是光标。请让我知道我的步骤是否准确,或者我是否需要对此进行任何更改 创建或替换过程光纤传输有效数据 开始 选择rj_span_id作为输入电流, rj_维护_区域_名称, rj_维护_区域_代码 来自app_fttx。transmedia@sat 环 如果cur\u r.rj\u span\u id>为“
create or replace procedure fiber_transm_valid_data as
l_state_name table_of_states.rj_state_name%type;
begin
for cur_r in (select rj_span_id,
rj_maintenance_zone_name,
rj_maintenance_zone_code,
rj_state_name
from app_fttx.transmedia@sat
)
loop
select max(rj_state_name)
into l_state_name
from table_of_states
where rj_state_name = cur_r.rj_state_name
and rownum = 1;
if cur_r.rj_span_id > '0'
and cur_r.rj_maintenance_zone_name = 'aa'
and cur_r.rj_maintenance_zone_code = 'A123'
and l_state_name = 1
then
INSERT INTO VALID_TABLE
(span_id, maintenance_zone_name,rj_maintenance_zone_code)
values
(cur_r.rj_span_id, cur_r.rj_maintenance_zone_name, cur_r.rj_maintenance_zone_code);
else
INSERT INTO INVALID_TABLE
(span_id, maintenance_zone_name,rj_maintenance_zone_code)
values
(cur_r.rj_span_id, cur_r.rj_maintenance_zone_name, cur_r.rj_maintenance_zone_code);
end if;
end loop;
end fiber_transm_valid_data;
评论不用于扩展讨论;这段对话已经结束。