Migrar SP de Firebird para Oracle
ola pessoal,
estou comecando agora no oracle, antes usuava firebird, tenho uma procedure feita em firebird que preciso migrar para oracle fiz algumas correcoes mais ainda não esta funcionando, segue abaixo o codigo:
um forte abarco a todos
alineri
estou comecando agora no oracle, antes usuava firebird, tenho uma procedure feita em firebird que preciso migrar para oracle fiz algumas correcoes mais ainda não esta funcionando, segue abaixo o codigo:
create or replace PROCEDURE "LISTA_LUGAR" ( "PCEP" IN VARCHAR2, "PESTADO" OUT VARCHAR2, "PCIDADE" OUT VARCHAR2, "PBAIRRO" OUT VARCHAR2, "PENDERECO" OUT VARCHAR2, "PCEPS" OUT VARCHAR2, "PCOMPLEMENTO" OUT VARCHAR ) AS begin select a.uf_sigla, b.cidade_descricao, c.bairro_descricao, d.endereco_logradouro, d.endereco_cep, d.endereco_complemento from uf a,cidade b, bairro c, endereco d where (a.uf_codigo = b.uf_codigo) and (b.cidade_codigo = c.cidade_codigo) and (c.bairro_codigo = d.bairro_codigo) and (d.endereco_cep = pcep) order by c.bairro_descricao,d.endereco_logradouro,d.endereco_cep into pestado,pcidade,pbairro,pendereco,pceps,pcomplemento; end "LISTA_LUGAR";
um forte abarco a todos
alineri
Alineri
Curtidas 0
Respostas
Lucas Silva
28/02/2008
Aline,
Boa tarde...
O erro acontece ao compilar a procedure no oracle ou ela não retorna os resultados esperados?
T+,
Lucas.
Boa tarde...
O erro acontece ao compilar a procedure no oracle ou ela não retorna os resultados esperados?
T+,
Lucas.
GOSTEI 0
Alineri
28/02/2008
Ola Pessoal,
Consegui acertar a procedure. so que nao sei como chamar essa procedure via aplicacao delphi, segue abaixo a procedure
com uma ajuda que recebi de outro forum eu consigo executar essa procedure dessa forma diretamente no oracle ( a versao que estou utilizando e a Oracle XE )
segue abaixo o codigo:
um forte abraco a todos
alineri
Consegui acertar a procedure. so que nao sei como chamar essa procedure via aplicacao delphi, segue abaixo a procedure
create or replace PROCEDURE "LISTA_LUGAR" ( "PCEP" IN VARCHAR2, "PESTADO" OUT VARCHAR2, "PCIDADE" OUT VARCHAR2, "PBAIRRO" OUT VARCHAR2, "PENDERECO" OUT VARCHAR2, "PCEPS" OUT VARCHAR2, "PCOMPLEMENTO" OUT VARCHAR2 ) AS begin select a.uf_sigla, b.cidade_descricao, c.bairro_descricao, d.endereco_logradouro, d.endereco_cep, d.endereco_complemento into pestado, pcidade, pbairro, pendereco, pceps, pcomplemento from uf a,cidade b, bairro c, endereco d where (a.uf_codigo = b.uf_codigo) and (b.cidade_codigo = c.cidade_codigo) and (c.bairro_codigo = d.bairro_codigo) and (d.endereco_cep = pcep) order by c.bairro_descricao,d.endereco_logradouro,d.endereco_cep; end "LISTA_LUGAR";
com uma ajuda que recebi de outro forum eu consigo executar essa procedure dessa forma diretamente no oracle ( a versao que estou utilizando e a Oracle XE )
segue abaixo o codigo:
DECLARE V_ESTADO VARCHAR2(10); V_CIDADE VARCHAR2(200); V_BAIRRO VARCHAR2(100); V_ENDERECO VARCHAR2(200); V_CEPS VARCHAR2(200); V_COMPLEMENTO VARCHAR2(100); BEGIN LISTA_LUGAR(PCEP => ´123456´, PESTADO => V_ESTADO, PCIDADE => V_CIDADE, PBAIRRO => V_BAIRRO, PENDERECO => V_ENDERECO, PCEPS => V_CEPS, PCOMPLEMENTO => V_COMPLEMENTO); dbms_output.put_line(´O Endereço é: ´||V_ENDERECO); END;
um forte abraco a todos
alineri
GOSTEI 0
Flyskin
28/02/2008
no delphi voce pode utilizar tanto num componente SQLQuery como também um SQLStoredProc, os dois funcionam com algumas diferenças e daí vai depender de qual prefere utilizar...
GOSTEI 0
Alineri
28/02/2008
oi flyskin, esse realmente e que esta sendo o meu problema.
com o adostoredproc nao consigo rodar essa procedura, da uma mensagem de erro informando que o provedor nao tem suporte para esse tipo de resultado, e no adoquery nao sei como fazer para funcionar essa procedure, ja tentei varias formas, e nao consigo executa-la, no oracle vai, oq eu pode ser ?
um forte abraco a todos
alineri
com o adostoredproc nao consigo rodar essa procedura, da uma mensagem de erro informando que o provedor nao tem suporte para esse tipo de resultado, e no adoquery nao sei como fazer para funcionar essa procedure, ja tentei varias formas, e nao consigo executa-la, no oracle vai, oq eu pode ser ?
um forte abraco a todos
alineri
GOSTEI 0
Flyskin
28/02/2008
já tentou executar a query com o exec direct?
não sei se este recurso é somente do dbexpress ou se tem tb no ado... dá uma olhada a respeito, poi ele roda diretamente no servidor...
não sei se este recurso é somente do dbexpress ou se tem tb no ado... dá uma olhada a respeito, poi ele roda diretamente no servidor...
GOSTEI 0