Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bhia_lowe

ORA-01036 nome/numero de variavel invalido

Recommended Posts

esse é meu script

 

 require_once "sqlComposse.php";
                  $sth = ociparse($ora_conecta,"begin titulos.GRAVA_S032_COMPOSSE(
                               '$quaCod','$lote','$SitJur','$quaDep','$optDep','$quaNome','$quaEnd',
                               '$quaBair','$quaCid','$quaEst','$quaCep','$optTit','$quaFisCod','$quaFisCod','$quaFisCod','$quaCod',
                               '$optNacio','$optTipReg','$optEstCiv','$optRegCas','$quaProf','$quaPai','$quaMae',
                               '$quaDtNasc','$quaCpf','$quaRg','$quaOExp',:ID_COD,:AUX);end;") or die ("Erro na análise da cláusula SQL");

                 echo "INSERT INTO S032_QUALIFICACAO(qua_codigo, lot_numero, sit_juridica_cod, qua_dep, qua_nome, qua_endereco, qua_bairro, qua_cidade, qua_estado, qua_cep, tipo_dep_codigo ,tipo_comp_cod, qua_fis_codigo)
                               values(seq_s032_qualificacao.nextval, '$lote', '$SitJur',seq_s032_qualificacao.currval, '$quaNome', '$quaEnd', '$quaBair', '$quaCid', '$quaEst', '$quaCep', '$optDep', '$optTit', seq_s032_item_qua_fisica.nextval);
                           insert into s032_item_qua_fisica(nac_codigo, tipreg_codigo, estciv_codigo, regcas_codigo, qua_fis_profissao, qua_fis_pai, qua_fis_mae, qua_fis_dt_nascimento, qua_fis_cpf, qua_fis_rg_rne, qua_fis_orgao_expedidor, qua_codigo, qua_fis_codigo)
                               values('$optNacio', '$optTipReg', '$optEstCiv', '$optRegCas', '$quaProf', '$quaPai', '$quaMae', '$quaDtNasc', '$quaCpf', '$quaRg', '$quaOExp',seq_s032_qualificacao.currval ,seq_s032_item_qua_fisica.currval)";


                  $sth = ociparse($ora_conecta, $sth) or die ("Erro na análise da cláusula SQL");

               ocibindbyname($sth,":ID_COD",&$CODIGO,20) or die ('Erro retorno');
               ocibindbyname($sth,":AUX",&$codAux,20) or die ('Erro retorno');

                 OCIExecute($sth);
                 OCICommit($ora_conecta);

 

 

essa é minha procedure

 

create or replace procedure GRAVA_S032_COMPOSSE(
PAR1 IN S032_QUALIFICACAO.QUA_CODIGO%TYPE,
PAR2 IN S032_QUALIFICACAO.LOT_NUMERO%TYPE,
PAR3 IN S032_QUALIFICACAO.SIT_JURIDICA_COD%TYPE,
PAR4 IN S032_QUALIFICACAO.QUA_DEP%TYPE,
PAR5 IN S032_QUALIFICACAO.TIPO_DEP_CODIGO%TYPE,
PAR6 IN S032_QUALIFICACAO.QUA_NOME%TYPE,
PAR7 IN S032_QUALIFICACAO.QUA_ENDERECO%TYPE,
PAR8 IN S032_QUALIFICACAO.QUA_BAIRRO%TYPE,
PAR9 IN S032_QUALIFICACAO.QUA_CIDADE%TYPE,
PAR10 IN S032_QUALIFICACAO.QUA_ESTADO%TYPE,
PAR11 IN S032_QUALIFICACAO.QUA_CEP%TYPE,
PAR12 IN S032_QUALIFICACAO.TIPO_COMP_COD%TYPE,
PAR13 IN S032_QUALIFICACAO.QUA_FIS_CODIGO%TYPE,

PAR14 IN S032_ITEM_QUA_FISICA.QUA_FIS_CODIGO%TYPE,
PAR15 IN S032_ITEM_QUA_FISICA.QUA_CODIGO%TYPE,
PAR16 IN S032_ITEM_QUA_FISICA.NAC_cODIGO%TYPE,
PAR17 IN S032_ITEM_QUA_FISICA.TIPREG_CODIGO%TYPE,
PAR18 IN S032_ITEM_QUA_FISICA.ESTCIV_CODIGO%TYPE,
PAR19 IN S032_ITEM_QUA_FISICA.REGCAS_CODIGO%TYPE,
PAR20 IN S032_ITEM_QUA_FISICA.QUA_FIS_PROFISSAO%TYPE,
PAR21 IN S032_ITEM_QUA_FISICA.QUA_FIS_PAI%TYPE,
PAR22 IN S032_ITEM_QUA_FISICA.QUA_FIS_MAE%TYPE,
PAR23 IN S032_ITEM_QUA_FISICA.QUA_FIS_DT_NASCIMENTO%TYPE,
PAR24 IN S032_ITEM_QUA_FISICA.QUA_FIS_CPF%TYPE,
PAR25 IN S032_ITEM_QUA_FISICA.QUA_FIS_RG_RNE%TYPE,
PAR26 IN S032_ITEM_QUA_FISICA.QUA_FIS_ORGAO_EXPEDIDOR%TYPE,

ID_COD OUT S032_QUALIFICACAO.QUA_CODIGO%TYPE,
AUX OUT S032_ITEM_QUA_FISICA.QUA_FIS_CODIGO%TYPE)IS

BEGIN

DECLARE 
QUA_COD NUMBER;
COD_QUALIF NUMBER;
QUA_FIS NUMBER;

BEGIN

SELECT QUA_CODIGO INTO COD_QUALIF FROM S032_QUALIFICACAO Q
WHERE Q.QUA_CODIGO = PAR1;

IF COD_QUALIF IS NULL THEN

BEGIN
INSERT INTO S032_QUALIFICACAO (QUA_CODIGO, LOT_NUMERO, SIT_JURIDICA_COD, QUA_DEP, TIPO_DEP_CODIGO, QUA_NOME, QUA_ENDERECO,
                              QUA_BAIRRO, QUA_CIDADE, QUA_ESTADO, QUA_CEP, TIPO_COMP_COD, QUA_FIS_CODIGO)
VALUES (SEQ_S032_QUALIFICACAO.NEXTVAL, PAR2, PAR3, SEQ_S032_QUALIFICACAO.CURRVAL, PAR5, PAR6 , PAR7, PAR8, PAR9, PAR10, PAR11, 
       PAR12, SEQ_S032_ITEM_QUA_FISICA.NEXTVAL);

SELECT SEQ_S032_QUALIFICACAO.CURRVAL INTO QUA_COD FROM DUAL;
SELECT SEQ_S032_ITEM_QUA_FISICA.CURRVAL INTO QUA_FIS FROM DUAL;

INSERT INTO S032_ITEM_QUA_FISICA (QUA_FIS_CODIGO, QUA_CODIGO, NAC_CODIGO, TIPREG_CODIGO, ESTCIV_CODIGO, REGCAS_CODIGO, QUA_FIS_PROFISSAO,
                                 QUA_FIS_PAI, QUA_FIS_MAE, QUA_FIS_DT_NASCIMENTO, QUA_FIS_CPF, QUA_FIS_RG_RNE, QUA_FIS_ORGAO_EXPEDIDOR)
VALUES (QUA_FIS, QUA_COD, PAR16, PAR17, PAR18, PAR19, PAR20, PAR21, PAR22, PAR23, PAR24, PAR25, PAR26);

END;
ELSE
BEGIN

UPDATE S032_QUALIFICACAO SET
LOT_NUMERO = PAR2,
SIT_JURIDICA_COD = PAR3,
QUA_DEP = PAR4,
TIPO_DEP_CODIGO = PAR5,
QUA_NOME = PAR6,
QUA_ENDERECO = PAR7,
QUA_BAIRRO = PAR8,
QUA_CIDADE = PAR9,
QUA_ESTADO = PAR10,
QUA_CEP = PAR11,
TIPO_COMP_COD = PAR12,
QUA_FIS_CODIGO = PAR13
WHERE QUA_CODIGO = PAR1;

UPDATE S032_ITEM_QUA_FISICA SET
QUA_CODIGO = PAR15,
NAC_CODIGO = PAR16,
TIPREG_CODIGO = PAR17,
ESTCIV_CODIGO = PAR18,
REGCAS_CODIGO = PAR19,
QUA_FIS_PROFISSAO = PAR20,
QUA_FIS_PAI = PAR21,
QUA_FIS_MAE = PAR22,
QUA_FIS_DT_NASCIMENTO = PAR23,
QUA_FIS_CPF = PAR24,
QUA_FIS_RG_RNE = PAR25,
QUA_FIS_ORGAO_EXPEDIDOR = PAR26
WHERE QUA_FIS_CODIGO = PAR14;

END;
END IF;
END;
END GRAVA_S032_COMPOSSE;

Compartilhar este post


Link para o post
Compartilhar em outros sites

É erro de runtime ou de compilação ?

 

Parece ser um erro no php, tipagem de variável.

 

Do manual

 

 

ORA-01036 illegal variable name/number

 

Cause: Unable to find bind context on user side.

 

Action: Make sure that the variable being bound is in the SQL statement.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.