[firebase-br] Procedure com várias tabelas

Marlon ETI marlon em esferati.com.br
Qua Mar 14 09:31:14 -03 2012


Entendi Igor, mas teria como exemplificar para mim grato

Enviado via iPhone
Marlon Conceição 
21 9492-0895
21 8463-4700

Em 14/03/2012, às 07:47, Igor Almeida <igor.carneiro.almeida em gmail.com> escreveu:

> Bom dia Marlon,
> 
> Acho que para sua necessidade, você poderia gerar um gatilho(trigger) para
> que quando uma tabela fosse populada ou uma procedure tenha alguma
> alteração, esta trigger poderia chamar as outras Procedures.
> 
> Em 12 de março de 2012 18:37, Marlon ETI <marlon em esferati.com.br> escreveu:
> 
>> Boa noite senhores,
>> 
>> Tenho uma estrutura de banco com as seguintes tabelas
>> 
>> CREATE TABLE TB_ASSOCIADO (
>>   ID_ASSOCIADO            DM_KEY NOT NULL /* DM_KEY = INTEGER NOT NULL
>> CHECK (VALUE > 0) */,
>>   NU_CONTRATO             DM_CONTRATO /* DM_CONTRATO = CHAR(15) NOT NULL
>> CHECK (VALUE <> '') */,
>>   NO_ASSOCIADO            DM_NOME /* DM_NOME = VARCHAR(150) NOT NULL
>> CHECK (VALUE <> '') */,
>>   DT_NASCIMENTO           DM_DATA /* DM_DATA = DATE */,
>>   NU_IDADE                INTEGER,
>>   NU_CPF                  DM_CPF NOT NULL /* DM_CPF = CHAR(11) NOT NULL
>> CHECK (Value <> '') */,
>>   NU_RG                   VARCHAR(15),
>>   NO_EMISSOR              VARCHAR(15),
>>   DT_EMISSAO              DM_DATA /* DM_DATA = DATE */,
>>   NO_PAI                  DM_NOME COLLATE PT_BR /* DM_NOME = VARCHAR(150)
>> NOT NULL CHECK (VALUE <> '') */,
>>   NO_MAE                  DM_NOME COLLATE PT_BR /* DM_NOME = VARCHAR(150)
>> NOT NULL CHECK (VALUE <> '') */,
>>   ID_SEXO                 DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK
>> (VALUE > 0) */,
>>   ID_ESTADO_CIVIL         DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK
>> (VALUE > 0) */,
>>   ID_ASSOCIADO_CATEGORIA  DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK
>> (VALUE > 0) */,
>>   ID_ASSOCIADO_SITUACAO   DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK
>> (VALUE > 0) */,
>>   DT_ADESAO               DM_DATA /* DM_DATA = DATE */,
>>   DT_CADASTRO             DM_DATA /* DM_DATA = DATE */,
>>   DT_CANCELAMENTO         DM_DATA /* DM_DATA = DATE */,
>>   DT_REATIVACAO           DM_DATA /* DM_DATA = DATE */,
>>   DT_ATUALIZACAO          DM_DATA /* DM_DATA = DATE */,
>>   DS_CONFIRMADO           DM_BOOLEAN /* DM_BOOLEAN = CHAR(1) NOT NULL
>> CHECK (VALUE in ('T','F')) */
>> );
>> CREATE TABLE TB_ASSOCIADO_ENDERECO (
>>   ID_ASSOCIADO    DM_KEY NOT NULL /* DM_KEY = INTEGER NOT NULL CHECK
>> (VALUE > 0) */,
>>   TP_ENDERECO     DM_TP_ENDERECO NOT NULL /* DM_TP_ENDERECO = CHAR(1) NOT
>> NULL CHECK (VALUE in ('C', 'R')) */,
>>   NU_CEP          DM_CEP /* DM_CEP = CHAR(8) */,
>>   NO_ENDERECO     VARCHAR(100) COLLATE PT_BR,
>>   NU_ENDERECO     DM_TXT_10 /* DM_TXT_10 = VARCHAR(10) */,
>>   NO_COMPLEMENTO  DM_TXT_30 /* DM_TXT_30 = VARCHAR(30) */,
>>   NO_BAIRRO       DM_TXT_30 /* DM_TXT_30 = VARCHAR(30) */,
>>   NO_CIDADE       DM_TXT_30 /* DM_TXT_30 = VARCHAR(30) */,
>>   NO_ESTADO       DM_UF /* DM_UF = CHAR(2) */,
>>   DS_EMAIL        DM_EMAIL /* DM_EMAIL = VARCHAR(60) */,
>>   NU_TEL1         DM_TELEFONE /* DM_TELEFONE = CHAR(13) */,
>>   NU_TEL2         DM_TELEFONE /* DM_TELEFONE = CHAR(13) */,
>>   NU_TEL3         DM_TELEFONE /* DM_TELEFONE = CHAR(13) */,
>>   NU_TEL4         DM_TELEFONE /* DM_TELEFONE = CHAR(13) */
>> );
>> CREATE TABLE TB_ASSOCIADO_BANCO (
>>   ID_ASSOCIADO  DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE > 0) */,
>>   ID_BANCO      DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE > 0) */,
>>   NU_AGENCIA    CHAR(4),
>>   DV_AGENCIA    CHAR(1),
>>   NU_CONTA      VARCHAR(10),
>>   DV_CONTA      CHAR(1)
>> );
>> CREATE TABLE TB_ASSOCIADO_COMERCIAL (
>>   ID_ASSOCIADO         DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE >
>> 0) */,
>>   ID_ORGAO             DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE >
>> 0) */,
>>   ID_UPAG              DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE >
>> 0) */,
>>   NU_MATRICULA         DM_TXT_10 /* DM_TXT_10 = VARCHAR(10) */,
>>   NO_OCUPACAO          DM_TXT_50 /* DM_TXT_50 = VARCHAR(50) */,
>>   ID_GRUPO_FINANCEIRO  DM_KEY /* DM_KEY = INTEGER NOT NULL CHECK (VALUE >
>> 0) */
>> );
>> 
>> Entre outras tabelas. No tentando estou tentando criar uma procedure para
>> inserção e atualização no momento do cadastro do associado. Utilizo como
>> frontend do firebird a ferramenta ibexpert, onde consigo criar
>> automaticamente procedure de insert/update para cada tabela
>> individualmente. como consigo unir todas em uma única procedure ou como
>> faço para criar uma procedure que chame todas as outras dentro dela?
>> 
>> Grato desde já pela ajuda.
>> 
>> 
>> --
>> Marlon Conceição
>> Analista de Sistemas
>> Esfera TI - Soluções Simples e Completas
>> 
>> Favor levar em conta o meio-ambiente antes de imprimir este e-mail.
>> Por favor tenga en cuenta el medioambiente antes de imprimir este e-mail.
>> Please consider your environmental responsibility before printing this
>> e-mail.
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> 
> 
> 
> 
> -- 
> 
> Atenciosamente,
> 
> Igor Almeida
> # 85.87767028
> # 85.99825525
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista