[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