0
我是Oracle的初學者,所以我需要一些幫助。我創建了一個過程:創建一個新的過程
NAMEPROCEDURE
(
p_CodAFD IN VARCHAR2
,p_CodGEN IN VARCHAR2
,p_cursor OUT sys_refcursor
)
AS
BEGIN
OPEN p_cursor FOR
SELECT
to_number(err.id) AS D_ERRORAFD
, err.DESCRIPCION AS D_DESCRIPAFD
FROM errores err
WHERE (p_CodAFD IS NULL OR err.ID = p_CodAFD)
UNION
SELECT
to_number(t.CODERRORAFD) AS D_ERRORAFD
,to_number(t.CODERRORGENESIS) AS D_ERRORGEN
,t.DESCRIPCIONERROR AS D_DESCRIPGEN
FROM TRADUCTORAGENESISAFD t
WHERE t.CODERRORAFD = p_CodAFD
AND (p_CodGEN IS NULL OR t.CODERRORGENESIS = p_CodGEN)
order by D_ERRORAFD DESC;
END;
/
我想你知道它是做什麼的。但它不起作用,第一個SELECT
聲明被忽略。但我會告訴你的。
ERRORES表
CODE-AFD DESCRIPTION-AFD
5466 //SOMEWORDS1
... ...
TRADUCTORGENESISAFD表
CODE-AFD CODE-GEN DESCRIPTION-GEN
5466 5767 //SOMEWORDS2
... ... ...
... ... ...
我想獲得
CODE-AFD DESCRIPTION-AFD COD-GEN DESCRIPTION-GEN
5466 //SOMEWORDS1 5767 //SOMEWORDS2
... ... ... ...
我是否需要使用內部連接。如果是這樣。怎麼樣?
當你說第一個'SELECT'被忽略時,你是什麼意思?你是否收到一條語句被忽略的錯誤?您的查詢是否未返回您期望的結果?你的數據是什麼樣子的,參數的值是什麼?你實際得到的結果是什麼? –
@JustinCave完成,我剛剛編輯。 –