- Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 16 anos, 3 meses atrás por gracianow.
-
AutorPosts
-
13 de outubro de 2008 às 10:18 pm #83172gracianowParticipante
sempre surge um erro para atrapalhar e aggora e na regiao do begin transaction ele insiste neste erro:
Error(80,12): PLS-00103: Encontrado o símbolo “VARCHAR” quando um dos seguintes símbolos era esperado: . ( ) , * @ % & | = – + < / > at in is mod not range rem => ..
<> or != or ~= >= <= <> and or like as between from using || O símbolo “.” foi substituído por “VARCHAR” para continuar. Olha o code:
create or replace
PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
/*P_DT_ENTRV DATE;*/BEGIN
INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_ID_PACIENTE, P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/*P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL*/
SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR(P_PERIODO_REFERENCIA), SYSDATE)*/INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/SELECT SEQ_ID_ENTRV.NEXTVAL INTO P_ID_ENTRV FROM DUAL;
COMMIT;
BEGIN TRANSACTION
(
V_SQL VARCHAR(999);
/* SET XACT_ABORT ON */
V_SQL := INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/* P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL */V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR((P_PERIODO_REFERENCIA, SYSDATE)*/V_SQL := INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
— IF v_versao IS NULL THEN EXECUTE v_nome; END IF;
IF (P_ID_SUBPERG_01 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_01, ID_RESPTEXTO_01, P_ID_NOTATEND_01); END IF;
IF (P_ID_SUBPERG_02 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_02, P_ID_RESPTEXTO_02, P_ID_NOTATEND_02); END IF;
IF (P_ID_SUBPERG_03 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_03, P_ID_RESPTEXTO_03, P_ID_NOTATEND_03); END IF;
IF (P_ID_SUBPERG_04 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_04, P_ID_RESPTEXTO_04, P_ID_NOTATEND_04); END IF;EXCEPTION
WHEN OTHERS
DBMS_OUTPUT.PUT_LINE (‘Operação não realizada’);
COMMIT;END; )
END PRC_SAC_INSEREENTREVISTA;
13 de outubro de 2008 às 10:25 pm #83173Anônimo[quote=”gracianow”:3qw6im6g]sempre surge um erro para atrapalhar e aggora e na regiao do begin transaction ele insiste neste erro:
Error(80,12): PLS-00103: Encontrado o símbolo “VARCHAR” quando um dos seguintes símbolos era esperado: . ( ) , * @ % & | = – + < / > at in is mod not range rem => ..
<> or != or ~= >= <= <> and or like as between from using || O símbolo “.” foi substituído por “VARCHAR” para continuar. Olha o code:
create or replace
PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
/*P_DT_ENTRV DATE;*/BEGIN
INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_ID_PACIENTE, P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/*P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL*/
SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR(P_PERIODO_REFERENCIA), SYSDATE)*/INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/SELECT SEQ_ID_ENTRV.NEXTVAL INTO P_ID_ENTRV FROM DUAL;
COMMIT;
BEGIN TRANSACTION
(
V_SQL VARCHAR(999);
/* SET XACT_ABORT ON */
V_SQL := INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/* P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL */V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR((P_PERIODO_REFERENCIA, SYSDATE)*/V_SQL := INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
— IF v_versao IS NULL THEN EXECUTE v_nome; END IF;
IF (P_ID_SUBPERG_01 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_01, ID_RESPTEXTO_01, P_ID_NOTATEND_01); END IF;
IF (P_ID_SUBPERG_02 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_02, P_ID_RESPTEXTO_02, P_ID_NOTATEND_02); END IF;
IF (P_ID_SUBPERG_03 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_03, P_ID_RESPTEXTO_03, P_ID_NOTATEND_03); END IF;
IF (P_ID_SUBPERG_04 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_04, P_ID_RESPTEXTO_04, P_ID_NOTATEND_04); END IF;EXCEPTION
WHEN OTHERS
DBMS_OUTPUT.PUT_LINE (‘Operação não realizada’);
COMMIT;END; )
END PRC_SAC_INSEREENTREVISTA;[/quote]
Qando tem um campo varchar vc tem que especificar o tamanho desse campo então onde tem varchar coloca (100) que siguinifica te terão 100 caracteres para este campo
mas ér melhor usar o varchar2 (a quantidade não importa) ele armazena no banco só o que vc usar mas tem que ter a quanridade certaexemplo vc diz que aquele campo vai ter 200 caracteres e vc só digita 100 ele aramzena 100 e não os 200 que vc tenha determinado
isso faz uma grande diferença no futuro14 de outubro de 2008 às 5:40 pm #83190gracianowParticipanteValeu nilson_giap;
To por dentro dos valores do varchar e segui sua sugestão de usar o varchar2, mas parece que o erro é em relação a transaction pois dentro dela os comandos (querys) não são reconecidos, creio que falta algo nesta sintaxe para atribuir valor a variavel V_SQL que recebe as querys que serão executadas.
Pode dar uma força nisto ai??14 de outubro de 2008 às 6:39 pm #83203IshiiParticipanteOlá,
A variável V_SQL deve estar declarada no inicio da Procedure…
create or replace
PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
/*P_DT_ENTRV DATE;*/V_SQL VARCHAR(999);
[]s Ishii
14 de outubro de 2008 às 7:08 pm #83205gracianowParticipanteMuito grato Ishii;
o problema maior é a insistencia de não se aceitar os comandos que a variavel vai receber na transaction:
Error(79,4): PLS-00103: Encontrado o símbolo “V_SQL” quando um dos seguintes símbolos era esperado: := . ( @ % ;
a linha é: V_SQL := INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA) VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
o code é:
create or replace PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
V_SQL VARCHAR(999);BEGIN
INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_ID_PACIENTE, P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/*P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL*/
SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR(P_PERIODO_REFERENCIA), SYSDATE)*/INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/SELECT SEQ_ID_ENTRV.NEXTVAL INTO P_ID_ENTRV FROM DUAL;
COMMIT;
BEGIN TRANSACTION
(
V_SQL := INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA) VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);
V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
V_SQL := INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);V_SQL := SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
— IF v_versao IS NULL THEN EXECUTE v_nome; END IF;
IF (P_ID_SUBPERG_01 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_01, ID_RESPTEXTO_01, P_ID_NOTATEND_01); END IF;
IF (P_ID_SUBPERG_02 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_02, P_ID_RESPTEXTO_02, P_ID_NOTATEND_02); END IF;
IF (P_ID_SUBPERG_03 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_03, P_ID_RESPTEXTO_03, P_ID_NOTATEND_03); END IF;
IF (P_ID_SUBPERG_04 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_04, P_ID_RESPTEXTO_04, P_ID_NOTATEND_04); END IF;EXCEPTION
WHEN OTHERS
DBMS_OUTPUT.PUT_LINE (‘Operação não realizada’);
COMMIT;END; )
END PRC_SAC_INSEREENTREVISTA;
Pode analisar por favor??
14 de outubro de 2008 às 9:02 pm #83209IshiiParticipanteOlá,
Vou fazer melhor para você. Procure a Documentação sobre o DBMS_SQL ou SQL Dinâmico e verifique como utilizá-la, tenho certeza que você vai entender pois é isso mesmo que você está querendo fazer….
[]s Ishii
15 de outubro de 2008 às 10:27 pm #83228gracianowParticipanteLegal Ishii!!!
Meuu li o SQL dinamico e abriu minha mente para melhorar o código e eliminei muitos erros; agora creio que só falta a correta declaração de como chamar uma procedure dentro de outrna no sql Dinamico;
Este é o Erro:
Error(113,39): PLS-00201: o identificador ‘EXECUTE.PRC_INSERETBRESP’ deve ser declarado
E o Code:
create or replace
PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR
)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
V_SQL VARCHAR2(500);
V_SQL2 VARCHAR2(500);
V_SQL3 VARCHAR2(500);
V_SQL4 VARCHAR2(500);BEGIN
INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);/* SET P_ID_PACIENTE=P_P_IDENTITY */
/*P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL*/SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR(P_PERIODO_REFERENCIA), SYSDATE)*/INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/SELECT SEQ_ID_ENTRV.NEXTVAL INTO P_ID_ENTRV FROM DUAL;
COMMIT;
BEGIN
/* SET XACT_ABORT ON */
V_SQL := ‘INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);’;EXECUTE IMMEDIATE V_SQL;
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/* P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL */V_SQL2 := ‘SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;’;
EXECUTE IMMEDIATE V_SQL2;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR((P_PERIODO_REFERENCIA, SYSDATE)*/V_SQL3 := ‘INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);’;EXECUTE IMMEDIATE V_SQL3;
/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/V_SQL4 := ‘SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;’;
EXECUTE IMMEDIATE V_SQL4;
— IF v_versao IS NULL THEN EXECUTE v_nome; END IF;
IF (P_ID_SUBPERG_01 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP:=(P_ID_ENTRV, P_ID_SUBPERG_01, ID_RESPTEXTO_01, P_ID_NOTATEND_01); END IF;
IF (P_ID_SUBPERG_02 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP:=(P_ID_ENTRV, P_ID_SUBPERG_02, P_ID_RESPTEXTO_02, P_ID_NOTATEND_02); END IF;
IF (P_ID_SUBPERG_03 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP:=(P_ID_ENTRV, P_ID_SUBPERG_03, P_ID_RESPTEXTO_03, P_ID_NOTATEND_03); END IF;
IF (P_ID_SUBPERG_04 IS NOT NULL) THEN EXECUTE.PRC_INSERETBRESP:=(P_ID_ENTRV, P_ID_SUBPERG_04, P_ID_RESPTEXTO_04, P_ID_NOTATEND_04); END IF;EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (“Comando não realizado”);
END;
COMMIT;
END PRC_SAC_INSEREENTREVISTA;
Creio q ta quase acabando!
pode ajudar???Valeu!
16 de outubro de 2008 às 2:49 am #83229IshiiParticipanteOlá,
Que bom que vc gostou do DBMS_SQL já passei para alguns devs que tiveram suas procs reduzidas em pelo menos 50% de linhas de código….
Para executar uma procedure de dentro de outra não precisa do DBMS_SQL pode chamar direto mesmo
PRC_INSERETBRESP
Pode assim mesmo dentro de Procedure que vai funcionar também!
[]s Ishii
16 de outubro de 2008 às 3:39 pm #83234gracianowParticipanteCara, fantástico!!! Valeu Ishii vc realmente é um top helper!!!
Sua ajuda foi muito valiosa, soberba, relevante, colossal e etc…
Ei chega de babar ovo, né!Tai o resultado!
O Code completo:
create or replace
PROCEDURE PRC_SAC_INSEREENTREVISTA
(P_IDADE IN NUMBER, P_SEXO IN CHAR, P_ID_ESCOLAPAC IN NUMBER, P_ID_FORM IN NUMBER,
P_PERIODO_REFERENCIA IN VARCHAR, P_RESP_COMPLEMENTAR_01 IN NUMBER, P_ID_ESPECPAC IN NUMBER, P_ID_INTENFER IN NUMBER,
P_ID_SUBPERG_01 IN NUMBER, P_ID_NOTATEND_01 IN NUMBER, P_ID_RESPTEXTO_01 IN VARCHAR, P_RESP_COMPLEMENTAR_01 IN NUMBER,
P_ID_SUBPERG_02 IN NUMBER, P_ID_NOTATEND_02 IN NUMBER, P_ID_RESPTEXTO_02 IN VARCHAR, P_RESP_COMPLEMENTAR_02 IN NUMBER,
P_ID_SUBPERG_03 IN NUMBER, P_ID_NOTATEND_03 IN NUMBER, P_ID_RESPTEXTO_03 IN VARCHAR, P_RESP_COMPLEMENTAR_03 IN NUMBER,
P_ID_SUBPERG_04 IN NUMBER, P_ID_NOTATEND_04 IN NUMBER, P_ID_RESPTEXTO_04 IN VARCHAR, P_RESP_COMPLEMENTAR_04 IN NUMBER,
P_ID_SUBPERG_05 IN NUMBER, P_ID_NOTATEND_05 IN NUMBER, P_ID_RESPTEXTO_05 IN VARCHAR, P_RESP_COMPLEMENTAR_05 IN NUMBER,
P_ID_SUBPERG_06 IN NUMBER, P_ID_NOTATEND_06 IN NUMBER, P_ID_RESPTEXTO_06 IN VARCHAR, P_RESP_COMPLEMENTAR_06 IN NUMBER,
P_ID_SUBPERG_07 IN NUMBER, P_ID_NOTATEND_07 IN NUMBER, P_ID_RESPTEXTO_07 IN VARCHAR, P_RESP_COMPLEMENTAR_07 IN NUMBER,
P_ID_SUBPERG_08 IN NUMBER, P_ID_NOTATEND_08 IN NUMBER, P_ID_RESPTEXTO_08 IN VARCHAR, P_RESP_COMPLEMENTAR_08 IN NUMBER,
P_ID_SUBPERG_09 IN NUMBER, P_ID_NOTATEND_09 IN NUMBER, P_ID_RESPTEXTO_09 IN VARCHAR, P_RESP_COMPLEMENTAR_09 IN NUMBER,
P_ID_SUBPERG_10 IN NUMBER, P_ID_NOTATEND_10 IN NUMBER, P_ID_RESPTEXTO_10 IN VARCHAR, P_RESP_COMPLEMENTAR_10 IN NUMBER,
P_ID_SUBPERG_11 IN NUMBER, P_ID_NOTATEND_11 IN NUMBER, P_ID_RESPTEXTO_11 IN VARCHAR, P_RESP_COMPLEMENTAR_11 IN NUMBER,
P_ID_SUBPERG_12 IN NUMBER, P_ID_NOTATEND_12 IN NUMBER, P_ID_RESPTEXTO_12 IN VARCHAR, P_RESP_COMPLEMENTAR_12 IN NUMBER,
P_ID_SUBPERG_13 IN NUMBER, P_ID_NOTATEND_13 IN NUMBER, P_ID_RESPTEXTO_13 IN VARCHAR, P_RESP_COMPLEMENTAR_13 IN NUMBER,
P_ID_SUBPERG_14 IN NUMBER, P_ID_NOTATEND_14 IN NUMBER, P_ID_RESPTEXTO_14 IN VARCHAR, P_RESP_COMPLEMENTAR_14 IN NUMBER,
P_ID_SUBPERG_15 IN NUMBER, P_ID_NOTATEND_15 IN NUMBER, P_ID_RESPTEXTO_15 IN VARCHAR, P_RESP_COMPLEMENTAR_15 IN NUMBER,
P_ID_SUBPERG_16 IN NUMBER, P_ID_NOTATEND_16 IN NUMBER, P_ID_RESPTEXTO_16 IN VARCHAR, P_RESP_COMPLEMENTAR_16 IN NUMBER,
P_ID_SUBPERG_17 IN NUMBER, P_ID_NOTATEND_17 IN NUMBER, P_ID_RESPTEXTO_17 IN VARCHAR, P_RESP_COMPLEMENTAR_17 IN NUMBER,
P_ID_SUBPERG_18 IN NUMBER, P_ID_NOTATEND_18 IN NUMBER, P_ID_RESPTEXTO_18 IN VARCHAR, P_RESP_COMPLEMENTAR_18 IN NUMBER,
P_ID_SUBPERG_19 IN NUMBER, P_ID_NOTATEND_19 IN NUMBER, P_ID_RESPTEXTO_19 IN VARCHAR, P_RESP_COMPLEMENTAR_19 IN NUMBER,
P_ID_SUBPERG_20 IN NUMBER, P_ID_NOTATEND_20 IN NUMBER, P_ID_RESPTEXTO_20 IN VARCHAR, P_RESP_COMPLEMENTAR_20 IN NUMBER,
P_ID_SUBPERG_21 IN NUMBER, P_ID_NOTATEND_21 IN NUMBER, P_ID_RESPTEXTO_21 IN VARCHAR, P_RESP_COMPLEMENTAR_21 IN NUMBER,
P_ID_SUBPERG_22 IN NUMBER, P_ID_NOTATEND_22 IN NUMBER, P_ID_RESPTEXTO_22 IN VARCHAR, P_RESP_COMPLEMENTAR_22 IN NUMBER,
P_ID_SUBPERG_23 IN NUMBER, P_ID_NOTATEND_23 IN NUMBER, P_ID_RESPTEXTO_23 IN VARCHAR, P_RESP_COMPLEMENTAR_23 IN NUMBER,
P_ID_SUBPERG_24 IN NUMBER, P_ID_NOTATEND_24 IN NUMBER, P_ID_RESPTEXTO_24 IN VARCHAR, P_RESP_COMPLEMENTAR_24 IN NUMBER,
P_ID_SUBPERG_25 IN NUMBER, P_ID_NOTATEND_25 IN NUMBER, P_ID_RESPTEXTO_25 IN VARCHAR, P_RESP_COMPLEMENTAR_25 IN NUMBER,
P_ID_SUBPERG_26 IN NUMBER, P_ID_NOTATEND_26 IN NUMBER, P_ID_RESPTEXTO_26 IN VARCHAR, P_RESP_COMPLEMENTAR_26 IN NUMBER,
P_ID_SUBPERG_27 IN NUMBER, P_ID_NOTATEND_27 IN NUMBER, P_ID_RESPTEXTO_27 IN VARCHAR, P_RESP_COMPLEMENTAR_27 IN NUMBER,
P_ID_SUBPERG_28 IN NUMBER, P_ID_NOTATEND_28 IN NUMBER, P_ID_RESPTEXTO_28 IN VARCHAR, P_RESP_COMPLEMENTAR_28 IN NUMBER,
P_ID_SUBPERG_29 IN NUMBER, P_ID_NOTATEND_29 IN NUMBER, P_ID_RESPTEXTO_29 IN VARCHAR, P_RESP_COMPLEMENTAR_29 IN NUMBER,
P_ID_SUBPERG_30 IN NUMBER, P_ID_NOTATEND_30 IN NUMBER, P_ID_RESPTEXTO_30 IN VARCHAR, P_RESP_COMPLEMENTAR_30 IN NUMBER,
P_ID_SUBPERG_31 IN NUMBER, P_ID_NOTATEND_31 IN NUMBER, P_ID_RESPTEXTO_31 IN VARCHAR, P_RESP_COMPLEMENTAR_31 IN NUMBER,
P_ID_SUBPERG_32 IN NUMBER, P_ID_NOTATEND_32 IN NUMBER, P_ID_RESPTEXTO_32 IN VARCHAR, P_RESP_COMPLEMENTAR_32 IN NUMBER,
P_ID_SUBPERG_33 IN NUMBER, P_ID_NOTATEND_33 IN NUMBER, P_ID_RESPTEXTO_33 IN VARCHAR, P_RESP_COMPLEMENTAR_33 IN NUMBER,
P_ID_SUBPERG_34 IN NUMBER, P_ID_NOTATEND_34 IN NUMBER, P_ID_RESPTEXTO_34 IN VARCHAR, P_RESP_COMPLEMENTAR_34 IN NUMBER,
P_ID_SUBPERG_35 IN NUMBER, P_ID_NOTATEND_35 IN NUMBER, P_ID_RESPTEXTO_35 IN VARCHAR, P_RESP_COMPLEMENTAR_35 IN NUMBER,
P_ID_SUBPERG_36 IN NUMBER, P_ID_NOTATEND_36 IN NUMBER, P_ID_RESPTEXTO_36 IN VARCHAR, P_RESP_COMPLEMENTAR_36 IN NUMBER,
P_ID_SUBPERG_37 IN NUMBER, P_ID_NOTATEND_37 IN NUMBER, P_ID_RESPTEXTO_37 IN VARCHAR, P_RESP_COMPLEMENTAR_37 IN NUMBER,
P_ID_SUBPERG_38 IN NUMBER, P_ID_NOTATEND_38 IN NUMBER, P_ID_RESPTEXTO_38 IN VARCHAR, P_RESP_COMPLEMENTAR_38 IN NUMBER,
P_ID_SUBPERG_39 IN NUMBER, P_ID_NOTATEND_39 IN NUMBER, P_ID_RESPTEXTO_39 IN VARCHAR, P_RESP_COMPLEMENTAR_39 IN NUMBER,
P_ID_SUBPERG_40 IN NUMBER, P_ID_NOTATEND_40 IN NUMBER, P_ID_RESPTEXTO_40 IN VARCHAR, P_RESP_COMPLEMENTAR_40 IN NUMBER)IS
PRAGMA AUTONOMOUS_TRANSACTION;
P_ID_PACIENTE NUMBER(10);
P_ID_ENTRV NUMBER(10);
V_SQL VARCHAR2(500);
V_SQL2 VARCHAR2(500);
V_SQL3 VARCHAR2(500);
V_SQL4 VARCHAR2(500);
/*P_DT_ENTRV DATE;*/BEGIN
INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);/* SET P_ID_PACIENTE=P_P_IDENTITY */
/*P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL*/SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR(P_PERIODO_REFERENCIA), SYSDATE)*/INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/SELECT SEQ_ID_ENTRV.NEXTVAL INTO P_ID_ENTRV FROM DUAL;
COMMIT;
BEGIN
/* SET XACT_ABORT ON */
V_SQL := ‘INSERT INTO TB_PACIENTE (IDADE, ID_SEXO_PACIENTE, ID_ESCOLARIDADE_PACIENTE, ID_ESPECIALIDADE_PACIENTE, ID_INT_ENFERMARIA)
VALUES (P_IDADE, P_SEXO, P_ID_ESCOLAPAC, P_ID_ESPECPAC, P_ID_INTENFER);’;EXECUTE IMMEDIATE V_SQL;
/* SET P_ID_PACIENTE=P_P_IDENTITY */
/* P_ID_PACIENTE := SEQ_ID_PACIENTE.NEXTVAL */V_SQL2 := ‘SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;’;
EXECUTE IMMEDIATE V_SQL2;
/* SET P_DT_ENTRV = ISNULL(P_PERIODO_REFERENCIA,CONVERT( VARCHAR(16),GETDATE(),20)) */
/*P_DT_ENTRV := NVL(P_PERIODO_REFERENCIA, TO_CHAR((P_PERIODO_REFERENCIA, SYSDATE)*/V_SQL3 := ‘INSERT INTO TB_ENTRV (DT_ENTRV, ID_FORM, ID_PACIENTE)
VALUES (SYSDATE, P_ID_FORM, P_ID_PACIENTE);’;EXECUTE IMMEDIATE V_SQL3;
/* SET P_ID_ENTRV=P_P_IDENTITY */
/*P_ID_ENTRV := SEQ_ID_ENTRV.NEXTVAL*/V_SQL4 := ‘SELECT SEQ_ID_PACIENTE.NEXTVAL INTO P_ID_PACIENTE FROM DUAL;’;
EXECUTE IMMEDIATE V_SQL4;
— IF v_versao IS NULL THEN EXECUTE v_nome; END IF;
IF (P_ID_SUBPERG_01 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_01, P_ID_RESPTEXTO_01, P_ID_NOTATEND_01, P_RESP_COMPLEMENTAR_01); END IF;
IF (P_ID_SUBPERG_02 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_02, P_ID_RESPTEXTO_02, P_ID_NOTATEND_02, P_RESP_COMPLEMENTAR_02); END IF;
IF (P_ID_SUBPERG_03 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_03, P_ID_RESPTEXTO_03, P_ID_NOTATEND_03, P_RESP_COMPLEMENTAR_03); END IF;
IF (P_ID_SUBPERG_04 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_04, P_ID_RESPTEXTO_04, P_ID_NOTATEND_04, P_RESP_COMPLEMENTAR_04); END IF;
IF (P_ID_SUBPERG_05 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_05, P_ID_RESPTEXTO_05, P_ID_NOTATEND_05, P_RESP_COMPLEMENTAR_05); END IF;
IF (P_ID_SUBPERG_06 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_06, P_ID_RESPTEXTO_06, P_ID_NOTATEND_06, P_RESP_COMPLEMENTAR_06); END IF;
IF (P_ID_SUBPERG_07 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_07, P_ID_RESPTEXTO_07, P_ID_NOTATEND_07, P_RESP_COMPLEMENTAR_07); END IF;
IF (P_ID_SUBPERG_08 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_08, P_ID_RESPTEXTO_08, P_ID_NOTATEND_08, P_RESP_COMPLEMENTAR_08); END IF;
IF (P_ID_SUBPERG_09 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_09, P_ID_RESPTEXTO_09, P_ID_NOTATEND_09, P_RESP_COMPLEMENTAR_09); END IF;
IF (P_ID_SUBPERG_10 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_10, P_ID_RESPTEXTO_10, P_ID_NOTATEND_10, P_RESP_COMPLEMENTAR_10); END IF;
IF (P_ID_SUBPERG_11 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_11, P_ID_RESPTEXTO_11, P_ID_NOTATEND_11, P_RESP_COMPLEMENTAR_11); END IF;
IF (P_ID_SUBPERG_12 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_12, P_ID_RESPTEXTO_12, P_ID_NOTATEND_12, P_RESP_COMPLEMENTAR_12); END IF;
IF (P_ID_SUBPERG_13 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_13, P_ID_RESPTEXTO_13, P_ID_NOTATEND_13, P_RESP_COMPLEMENTAR_13); END IF;
IF (P_ID_SUBPERG_14 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_14, P_ID_RESPTEXTO_14, P_ID_NOTATEND_14, P_RESP_COMPLEMENTAR_14); END IF;
IF (P_ID_SUBPERG_15 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_15, P_ID_RESPTEXTO_15, P_ID_NOTATEND_15, P_RESP_COMPLEMENTAR_15); END IF;
IF (P_ID_SUBPERG_16 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_16, P_ID_RESPTEXTO_16, P_ID_NOTATEND_16, P_RESP_COMPLEMENTAR_16); END IF;
IF (P_ID_SUBPERG_17 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_17, P_ID_RESPTEXTO_17, P_ID_NOTATEND_17, P_RESP_COMPLEMENTAR_17); END IF;
IF (P_ID_SUBPERG_18 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_18, P_ID_RESPTEXTO_18, P_ID_NOTATEND_18, P_RESP_COMPLEMENTAR_18); END IF;
IF (P_ID_SUBPERG_19 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_19, P_ID_RESPTEXTO_19, P_ID_NOTATEND_19, P_RESP_COMPLEMENTAR_19); END IF;
IF (P_ID_SUBPERG_20 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_20, P_ID_RESPTEXTO_20, P_ID_NOTATEND_20, P_RESP_COMPLEMENTAR_20); END IF;
IF (P_ID_SUBPERG_21 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_21, P_ID_RESPTEXTO_21, P_ID_NOTATEND_21, P_RESP_COMPLEMENTAR_21); END IF;
IF (P_ID_SUBPERG_22 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_22, P_ID_RESPTEXTO_22, P_ID_NOTATEND_22, P_RESP_COMPLEMENTAR_22); END IF;
IF (P_ID_SUBPERG_23 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_23, P_ID_RESPTEXTO_23, P_ID_NOTATEND_23, P_RESP_COMPLEMENTAR_23); END IF;
IF (P_ID_SUBPERG_24 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_24, P_ID_RESPTEXTO_24, P_ID_NOTATEND_24, P_RESP_COMPLEMENTAR_24); END IF;
IF (P_ID_SUBPERG_25 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_25, P_ID_RESPTEXTO_25, P_ID_NOTATEND_25, P_RESP_COMPLEMENTAR_25); END IF;
IF (P_ID_SUBPERG_26 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_26, P_ID_RESPTEXTO_26, P_ID_NOTATEND_26, P_RESP_COMPLEMENTAR_26); END IF;
IF (P_ID_SUBPERG_27 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_27, P_ID_RESPTEXTO_27, P_ID_NOTATEND_27, P_RESP_COMPLEMENTAR_27); END IF;
IF (P_ID_SUBPERG_28 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_28, P_ID_RESPTEXTO_28, P_ID_NOTATEND_28, P_RESP_COMPLEMENTAR_28); END IF;
IF (P_ID_SUBPERG_29 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_29, P_ID_RESPTEXTO_29, P_ID_NOTATEND_29, P_RESP_COMPLEMENTAR_29); END IF;
IF (P_ID_SUBPERG_30 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_30, P_ID_RESPTEXTO_30, P_ID_NOTATEND_30, P_RESP_COMPLEMENTAR_30); END IF;
IF (P_ID_SUBPERG_31 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_31, P_ID_RESPTEXTO_31, P_ID_NOTATEND_31, P_RESP_COMPLEMENTAR_31); END IF;
IF (P_ID_SUBPERG_32 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_32, P_ID_RESPTEXTO_32, P_ID_NOTATEND_32, P_RESP_COMPLEMENTAR_32); END IF;
IF (P_ID_SUBPERG_33 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_33, P_ID_RESPTEXTO_33, P_ID_NOTATEND_33, P_RESP_COMPLEMENTAR_33); END IF;
IF (P_ID_SUBPERG_34 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_34, P_ID_RESPTEXTO_34, P_ID_NOTATEND_34, P_RESP_COMPLEMENTAR_34); END IF;
IF (P_ID_SUBPERG_35 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_35, P_ID_RESPTEXTO_35, P_ID_NOTATEND_35, P_RESP_COMPLEMENTAR_35); END IF;
IF (P_ID_SUBPERG_36 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_36, P_ID_RESPTEXTO_36, P_ID_NOTATEND_36, P_RESP_COMPLEMENTAR_36); END IF;
IF (P_ID_SUBPERG_37 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_37, P_ID_RESPTEXTO_37, P_ID_NOTATEND_37, P_RESP_COMPLEMENTAR_37); END IF;
IF (P_ID_SUBPERG_38 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_38, P_ID_RESPTEXTO_38, P_ID_NOTATEND_38, P_RESP_COMPLEMENTAR_38); END IF;
IF (P_ID_SUBPERG_39 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_39, P_ID_RESPTEXTO_39, P_ID_NOTATEND_39, P_RESP_COMPLEMENTAR_39); END IF;
IF (P_ID_SUBPERG_40 IS NOT NULL) THEN PRC_INSERETBRESP(P_ID_ENTRV, P_ID_SUBPERG_40, P_ID_RESPTEXTO_40, P_ID_NOTATEND_40, P_RESP_COMPLEMENTAR_40); END IF;EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (‘Comando não realizado’);
END;
COMMIT;
END PRC_SAC_INSEREENTREVISTA;
Acho que criei um monstro!!! rsrsrssr
Valeu!
-
AutorPosts
- Você deve fazer login para responder a este tópico.