Execução de Procedure com parametros no Delphi

Este forum é destinado a perguntas relacionadas a Oracle, mas que não se enquadram nos forums acima. Aqui serão tratadas também sobre outras tecnologias da oracle, como o Workflow, BPEL, Spatial, OCS, etc.
Responder
HenriqueMachado
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Seg, 29 Mai 2006 1:24 pm
Localização: Blumenau - SC

Ola pessoal,

Estou com uma duvida relacionando Delphi e Oracle na execução de procedure.

Seguinte: tenho umas procedures de banco que são chamadas atualmente por uma outra "procedure mestre" (vamos chamar assim).

Porem tenho que a partir desde momento chamar todas a parti do delphi, aplicativo.

Mas os parametros que são passados, são tipos do banco, e eu não sei como passar esse parametro no delphi.

alguém tem uma idéia?


Vou dar um exemplo:

Abaixo estao os meus tipos(um pouco resumido)

Selecionar tudo

CREATE OR REPLACE
TYPE                                                       TCALCIPTU AS OBJECT
(
  ID_IMOVEL NUMBER,
  ID_LOTE NUMBER,
  EXERCICIO NUMBER,
  AREA_LOTE NUMBER,
  FATOR_PROFUNDIDADE CHAR(1),
  VALOR_FATOR_PROFUNDIDADE NUMBER,
  FATOR_DEPRECIACAO CHAR(1),
  AREA_TRIBUTAVEL_LOTE NUMBER,
  VALOR_M2_TERRENO NUMBER,
  ID_IMOVEL_UNIDADE NUMBER,
  MEMBER PROCEDURE INICIAVALORES(PCALCIPTU IN OUT TCALCIPTU)
)

Selecionar tudo

CREATE OR REPLACE
TYPE "TDADOSIMOVELUNIDADE"                                                                                                                                                                                                                                                                                                     AS OBJECT
(
  VALOR_VENAL_TERRENO NUMBER,
  ANO_CADASTRO NUMBER,
  ANO_CONSTRUCAO NUMBER,
  AREA_TRIBUTAVEL NUMBER,
  FRACAO_IDEAL NUMBER,
  ID_IMOVEL_TIPOLOGIA NUMBER,
  ID_IMOVEL_TIPO_USO NUMBER,
  ID_IMOVEL_padrão_ACAB NUMBER,
  VALOR_VENAL_UNIDADE NUMBER,
  ALIQUOTA_UNIDADE NUMBER,
  VALOR_M2_CONSTRUCAO_DESC NUMBER,
  VALOR_M2_CONSTRUCAO NUMBER,
  VALOR_FATOR_DEPRECIACAO NUMBER,
  ID_IMOVEL_UNIDADE NUMBER,
  ID_CARACT_IMOB_SUBITEM NUMBER
)
/

CREATE OR REPLACE
TYPE "TLISTAIMOVELUNIDADE"
AS TABLE OF TdadosimovelUnidade;
/


E agora minha Procedure que tenho que chama-la no delphi

Selecionar tudo

   PROCEDURE Get_Valor_m2_Construcao (
      PCalcIPTU            IN      TCalcIPTU
    , PListaImovelUnidade  IN OUT  TListaImovelUnidade
    , PIndexLista          IN      NUMBER
   );
Agradeco desde já

Henrique Machado Muller
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Henrique,

Estou respondendo este tópico antigo ainda em aberto, para o caso de outros foristas se depararem com o mesmo problema.

Não sou especialista em DELPHI, mas pelo que pude pesquisar sobre o assunto, você não vai conseguir fazer isso
(arrays como parâmetros) somente com as funcionalidades básicas do produto.

Existem algumas bibliotecas que você pode utilizar em conjunto com o DELPHI que lhe permitiriam trabalhar com ARRAYS. Abaixo, segue o link de um destes produtos. Estou colocando ele aqui mais como exemplo do que existe
no mercado, não sabendo lhe adiantar se o produto é bom ou não:

http://www.da-soft.com/anydac/docu/fram ... y_DML.html

Talves foristas aqui que conheçam o DELPHI possam apresentar outras sugestões ou dicas.

Abraços,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes