2011-12-27 6 views
0

У меня есть view с определенным field. Теперь мне нужно изменить это поле в соответствии с некоторой логикой. Я реализовал эту логику в stored procedure.Oracle. Выполнение хранимой процедуры при создании представления

Теперь я хочу выполнить эту хранимую процедуру, и ее результат должен быть помещен в field из view.

Процедура выглядит следующим образом:

CREATE OR REPLACE PROCEDURE "ORDTEST"."DEPARTMENT_FULLPATH" 
(depId IN VARCHAR2, path OUT VARCHAR2) 
... 

Так он имеет один входной и один выходной параметр.

В view мне нужно что-то вроде этого:

CREATE OR REPLACE VIEW kcv_journal_contract_reg AS 
    ... 
    SELECT DEPARTMENT_FULLPATH(field1), 
    ... 
+3

Я только что прочитал о не в состоянии вызвать хранимую процедуру из этого контекста. Так переделана процедура в функцию. –

ответ

4

Егошин Максим дал хорошее решение для этого.

вы можете вернуть желаемое значение InPlace параметра OUT ..

create or replace function "ORDTEST"."DEPARTMENT_FULLPATH" (depId IN VARCHAR2) 
return VARCHAR2 as 
.... 
return path ; 
Смежные вопросы