我需要使用父视图中的标志从两个视图中提取一行,以确定要查询的是哪一个 仅关注案例:
declare
rowRetrived v_child_A%rowtype;
for key in (select value1, value2, value3, flag from v_parent_view) loop
if flag = 'A' then
select * into rowRetrived
from v_child_A
where field1 = key.value1
and field2 = key.value2
and field3 = key.value3;
end if;
if flag = 'B' then
select * into rowRetrived -- **** HERE THE ERROR IS RAISED ****
from v_child_B
where field1 = key.value1
and field2 = key.value2
and field3 = key.value3;
end if;
doStuff(rowRetrived);
end loop;
...
我在任何地方都不使用LONG数据类型,并且检查两个子视图具有相同的字段和相同的类型。我在这个问题上苦苦挣扎,因为我不知道如何调试它。
一些注意事项:
where filed1 = 'value1' and field2 = 'value2' and field3 = 'value3'
)******编辑******
在这里按照视图的实际描述
V_PARENT_VIEW
ID_DISTRIBUZIONE NUMBER 22
ID_TRAGITTO_DISTR VARCHAR2 40
PROGR_TRAGITTO NUMBER 22
SHIP_OU_ID VARCHAR2 15
ACCNT_NAME VARCHAR2 100
ROW_ID_DEST VARCHAR2 15
EDITO NUMBER 22
EXTRA NUMBER 22
v_child_A
ID_DISTRIBUZIONE NUMBER 22
COD_DESTINATARIO VARCHAR2 100
ID_DESTINATARIO VARCHAR2 15
DESTINATARIO VARCHAR2 50
RIGA_LOCALITA VARCHAR2 50
INDIRIZZO VARCHAR2 50
FRAZIONE VARCHAR2 50
PRESSO VARCHAR2 50
PVUFF NUMBER 22
NOTA_CONSEGNA VARCHAR2 100
TEL_DESTINATARIO VARCHAR2 20
FUNZIONARIO VARCHAR2 30
TEL_FUNZIONARIO VARCHAR2 20
RIGA_LOCALITA_DEST VARCHAR2 50
INDIRIZZO_DEST VARCHAR2 50
FRAZIONE_DEST VARCHAR2 50
PRESSO_DEST VARCHAR2 50
TRASPORTATORE VARCHAR2 50
ID_DISTRIBUTORE VARCHAR2 15
ID_TRAGITTO_DISTR VARCHAR2 40
PROGR_TRAGITTO NUMBER 22
CONS_FATTURA NUMBER 22
NUMERO_VERDE_TEL VARCHAR2 20
SERVIZIO_CLIENTI_FAX VARCHAR2 20
SERVIZIO_CLIENTI_TEL VARCHAR2 20
SERVIZIO_CLIENTI_EMAIL VARCHAR2 20
CANALE VARCHAR2 100
ID_PROVINCIA NUMBER 22
ID_REGIONE NUMBER 22
ID_NAZIONE NUMBER 22
CAPOLUOGO NUMBER 22
PROVINCIA VARCHAR2 2
ROW_ID_DEST VARCHAR2 15
POSIZIONE VARCHAR2 50
v_child_B
ID_DISTRIBUZIONE NUMBER 22
COD_DESTINATARIO VARCHAR2 100
ID_DESTINATARIO VARCHAR2 15
DESTINATARIO VARCHAR2 50
RIGA_LOCALITA VARCHAR2 50
INDIRIZZO VARCHAR2 50
FRAZIONE VARCHAR2 50
PRESSO VARCHAR2 50
PVUFF NUMBER 22
NOTA_CONSEGNA VARCHAR2 200
TEL_DESTINATARIO VARCHAR2 20
FUNZIONARIO VARCHAR2 30
TEL_FUNZIONARIO VARCHAR2 20
RIGA_LOCALITA_DEST VARCHAR2 50
INDIRIZZO_DEST VARCHAR2 50
FRAZIONE_DEST VARCHAR2 50
PRESSO_DEST VARCHAR2 50
TRASPORTATORE VARCHAR2 50
ID_DISTRIBUTORE VARCHAR2 15
ID_TRAGITTO_DISTR VARCHAR2 40
PROGR_TRAGITTO NUMBER 22
CONS_FATTURA NUMBER 22
NUMERO_VERDE_TEL VARCHAR2 20
SERVIZIO_CLIENTI_FAX VARCHAR2 20
SERVIZIO_CLIENTI_TEL VARCHAR2 20
SERVIZIO_CLIENTI_EMAIL VARCHAR2 20
CANALE VARCHAR2 100
ID_PROVINCIA NUMBER 22
ID_REGIONE NUMBER 22
ID_NAZIONE NUMBER 22
CAPOLUOGO NUMBER 22
PROVINCIA VARCHAR2 2
ROW_ID_DEST VARCHAR2 15
POSIZIONE VARCHAR2 50