Preciso criar a procdedure abaixo, mas quando vou rodá-la diz que está com erro mas não entendo a mensagem de erro, aguém poderia me ajudar ?
Segue abaixo mesagem de erro:
Erro(1,60): PLS-00103: Encontrado o símbolo "(" quando um dos seguintes símbolos era esperado: := . ) , @ % default caractere O símbolo ":=" foi substituído por "(" para continuar.
Segue abaixo procedure:
CREATE OR REPLACE procedure SGIPA.PROC_IMP_EVENTO_NVOCC (nmarquivo in varchar(30)) iS
BEGIN
create global temporary table TB_FILA (ID_FILA number(5));
INSERT INTO TB_FILA SELECT ID_FILA FROM TB_IMP_EVENTO_FILA WHERE PROCESSADO = 0;
declare V_QTDE NUMBER;
SET V_QTDE := (SELECT COUNT(ID_FILA) FROM TB_FILA);
IF V_QTDE > 0 THEN
SELECT 'TRK' AS TRK , 'NEW' AS NEW
, case when length(B.NUMERO) < 16 then B.NUMERO else substr(B.NUMERO, 2, length(B.NUMERO)) end as NUMERO_BL
Question
Indyy32
Colegas, boa tarde!
Preciso criar a procdedure abaixo, mas quando vou rodá-la diz que está com erro mas não entendo a mensagem de erro, aguém poderia me ajudar ?
Segue abaixo mesagem de erro:
Erro(1,60): PLS-00103: Encontrado o símbolo "(" quando um dos seguintes símbolos era esperado: := . ) , @ % default caractere O símbolo ":=" foi substituído por "(" para continuar.
Segue abaixo procedure:
CREATE OR REPLACE procedure SGIPA.PROC_IMP_EVENTO_NVOCC (nmarquivo in varchar(30)) iS
BEGIN
create global temporary table TB_FILA (ID_FILA number(5));
INSERT INTO TB_FILA SELECT ID_FILA FROM TB_IMP_EVENTO_FILA WHERE PROCESSADO = 0;
declare V_QTDE NUMBER;
SET V_QTDE := (SELECT COUNT(ID_FILA) FROM TB_FILA);
IF V_QTDE > 0 THEN
SELECT 'TRK' AS TRK , 'NEW' AS NEW
, case when length(B.NUMERO) < 16 then B.NUMERO else substr(B.NUMERO, 2, length(B.NUMERO)) end as NUMERO_BL
, ' ' AS RANKING, ' ' AS SUFFIX
, E.PROCARS AS EVENTO
, CONCAT(PAIS, TRIGRAMA) AS PORTO
--,CONVERT(VARCHAR, F.DATA, 112) + SUBSTR(REPLACE((CONVERT(VARCHAR, A.DATA, 108)) , ':' , ''), 1,4) AS DATAEVENTO
, TO_CHAR( F.DATA, 'DD-MM-YYYY hh:mm:ss') as DATA
, (LPAD( ' ', 40 , ' ')) AS OBS, 'RCNT' AS RCNT, C.ID_CONTEINER
FROM SGIPA.TB_IMP_EVENTO_FILA F
INNER JOIN SGIPA.TB_IMP_CAD_EVENTO E
ON F.ID_EVENTO = E.ID_EVENTO
INNER JOIN SGIPA.TB_BL B
ON F.AUTONUM_BL = B.AUTONUM
INNER JOIN SGIPA.TB_CNTR_BL C
ON F.AUTONUM_CNTR = C.AUTONUM
INNER JOIN SGIPA.DTE_TB_PORTOS P
ON B.PORTO_ORIGEM = P.CODE
WHERE F.PROCESSADO = 0;
AND ID_FILA IN (SELECT * FROM TB_FILA);
UPDATE SGIPA.TB_IMP_EVENTO_FILA SET PROCESSADO = 1 WHERE ID_FILA IN (SELECT * FROM TB_FILA)
END IF;
DROP TABLE TB_FILA;
commit;
END;
Grata,
Indyy32
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.