Как создать динамическую процедуру, в которой данные столбцов извлекаются из одной таблицы в другую с использованием некоторой функции sql в некоторых столбцах? - PullRequest
0 голосов
/ 07 мая 2019

Я создал одну хранимую процедуру, но я хочу преобразовать ее в динамическую процедуру.Как я могу это сделать?Я попытался преобразовать эту процедуру динамически и скомпилирован тоже.Подскажите пожалуйста, я преобразовал про

Compiled 

Connecting to the database cpRACTICE.
Process exited.
Disconnecting from the database cpRACTICE.

SEVERE  168 0   oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$1    Index: -1, Size: 0 at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:665)
/
Connecting to the database cpRACTICE.
Process exited.
Disconnecting from the database cpRACTICE.

create or replace PROCEDURE PRC_TRNS_SRC_TRGT IS
BEGIN
INSERT INTO DM_TGT (
STUDY,
PATIENT,
CPEVENT,
SEX,
COUNTRY,
NAME,
AGE,
ADDRESS,
EPOCH,
--VISITNUMBER,
VISIT_DATE
)
(SELECT
STUDY,
PATIENT,
CPEVENT,
--SEX,
CASE WHEN SEX IN('M')
THEN 'MALE'
WHEN SEX IN('F')
THEN 'FEMALE'
WHEN SEX IN('O')
THEN 'OTHERS' END AS SEX,
SUBSTR(COUNTRY,1,3),
concat(concat(FIRST_NAME ,'_'),LAST_NAME),
AGE,
concat(concat(ADDRESS1,'/'),ADDRESS2),
EPOCH,
--TO_NUMBER(VISITNUMBER),
VISIT_DATE
            FROM
            DM_SRC 
            --where REGEXP_LIKE(VISITNUMBER,'[0-9])'
            );
COMMIT;
EXCEPTION
    WHEN OTHERS THEN
        dbms_output.put_line('procedure is unsuccessful' || sqlerrm);
END PRC_TRNS_SRC_TRGT;

Я хочу эту первую хранимую процедуру динамически.Как мы можем это сделать?

...