erro de escapde em procedure postgres
12/01/2011
0
Tenho uma procedure para inserção de ceps no meu banco porem os dados chegam para mim em maiuscula por exemplo
pais= Brasil
o que gera um erro na hora de inserir esses dados
como posso colocar dentro da procedure os dados no seguinte formato
nomepais='Brasil' se para iniciar a procedure depois do declare tem que colocar ' quando tento dar insert no banco me retorna esse erro
segue o codigo da procedurte até o trecho que da o erro
entrada para o erro
ela deveria ficar assim a sql
select count(*) from endereco.pais where nome='Brasil'
COMO FAÇO ISSO
DESDE JA OBRIGADO
pais= Brasil
o que gera um erro na hora de inserir esses dados
como posso colocar dentro da procedure os dados no seguinte formato
nomepais='Brasil' se para iniciar a procedure depois do declare tem que colocar ' quando tento dar insert no banco me retorna esse erro
NOTA: Criado novo pais ERRO: faltando entrada para tabela "endereco" na cláusula FROM LINE 1: ...NSERT INTO endereco.pais(id, nome)VALUES (nextval(endereco.c... ^ QUERY: INSERT INTO endereco.pais(id, nome)VALUES (nextval(endereco.cep_sequence), $1 ) CONTEXT: PL/pgSQL function "inserecep" line 38 at SQL statement ********** Error ********** ERRO: faltando entrada para tabela "endereco" na cláusula FROM SQL state: 42P01 Context: PL/pgSQL function "inserecep" line 38 at SQL statement
segue o codigo da procedurte até o trecho que da o erro
CREATE OR REPLACE FUNCTION insereCep(char(9000),char(9000),char(9000),char(9000),char(9000),char(9000),char(9000),char(9000),char(9000)) RETURNS INTEGER AS ' declare --contadores dos dados npais integer; nestado integer; ncidade integer; nbairro integer; ncep integer; nlogradouro integer; --ids para inserir o cep id_pais integer; id_estado integer; id_cidade integer; id_bairro integer; id_logradouro integer; --variaveis de entrada para o cep nome_pais ALIAS FOR $1; nome_estado ALIAS FOR $2; siglaestado ALIAS FOR $3; nome_bairro ALIAS FOR $4; nome_cidade ALIAS FOR $5; nomerua ALIAS FOR $6; cepcod ALIAS FOR $7; complemento_cep ALIAS FOR $8; tplogradouro ALIAS FOR $9; BEGIN --verifica se om pais colocado existe npais:= (select count(*) from endereco.pais where nome=nome_pais); IF npais=0 THEN --se 0 paises com esse nome insere o pais aqui RAISE NOTICE E''Criado novo pais''; --local do erro INSERT INTO endereco.pais(id, nome)VALUES (nextval(endereco.cep_sequence), nome_pais); ...
entrada para o erro
select insereCep('brasil','acre','ac', 'rio branco','sobral','20 de novembro','69903-695','cj boa união','rua');
ela deveria ficar assim a sql
select count(*) from endereco.pais where nome='Brasil'
COMO FAÇO ISSO
DESDE JA OBRIGADO
Cristiano Borges
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)