ligar uma tabela em outra - Interbase
Pessoal, eu estou precisando fazer com que alguns dados de uma tabela, entre em outra através do código, por exemplo, digito o código de um produto, e ele adiciona aquele produto em uma outra tabela assim que apertar um botão. Estou utilizando Interbase para fazer a tabela.
Desde já agradeço
Obrigado
Desde já agradeço
Obrigado
Edusjc
Curtidas 0
Respostas
Oscar Candido
20/11/2004
Amigo, espero que seja isso:
para selecionar os dados do registro de onde vc quer copiar vc pode usar a seguinte Query:
para passar os dados de uma tabela pra outra, vc pode fazer da seguinte forma, depois de executar a Query anterior:
Espero ter ajudado
Um Abraço
para selecionar os dados do registro de onde vc quer copiar vc pode usar a seguinte Query:
Select * from Tabela1 where Codigo = :Cod
para passar os dados de uma tabela pra outra, vc pode fazer da seguinte forma, depois de executar a Query anterior:
Tabela2Codigo.Value := Tabela1Codigo.value; Tabela2Nome.Value := Tabela1Nome.Value;//E assim por diante
Espero ter ajudado
Um Abraço
GOSTEI 0
Gandalf.nho
20/11/2004
Pode usar uma trigger tb.
GOSTEI 0
Edusjc
20/11/2004
como assim trigger?? não conheço este procedimento.
GOSTEI 0
Gandalf.nho
20/11/2004
Trigger é um procedimento interno do banco de dados associado a um evento. Por exemplo, quando se deseja auto-incrementar a chave primária de uma tabela IB/FB o procedimento mais comum é criar um generator e usar uma trigger no evento BEFORE INSERT da tabela para incrementar o valor do campo.
GOSTEI 0
Edusjc
20/11/2004
E como que é a linha de comando dele?? pode me dar um exemplo?
Obrigado
Obrigado
GOSTEI 0
Gandalf.nho
20/11/2004
Exemplo de trigger associado a generator
Crie o generator:
CREATE GENERATOR nome_generator;
Agora a trigger:
CREATE TRIGGER nome_trigger FOR nome_tabela
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.nome_campo_chave IS NULL) THEN
NEW.nome_campo_chave = GEN_ID(nome_generator, 1);
END
Para saber mais olhe a documentação do IB/FB, além de uma pesquisada no fórum.
Crie o generator:
CREATE GENERATOR nome_generator;
Agora a trigger:
CREATE TRIGGER nome_trigger FOR nome_tabela
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.nome_campo_chave IS NULL) THEN
NEW.nome_campo_chave = GEN_ID(nome_generator, 1);
END
Para saber mais olhe a documentação do IB/FB, além de uma pesquisada no fórum.
GOSTEI 0
Michaell
20/11/2004
E como que é a linha de comando dele?? pode me dar um exemplo?
Obrigado
Colega,
Vou te dar uma dica:
Supondo que você tenha 2 tabelas, PEDIDO(CODIGO INTEGER...) e PEDIDO_ITEM(CODIGO INTEGER, ITEM_CODIGO INTEGER...)
Crie um GENERATOR, por exemplo, GEN_PEDIDO (CREATE GENERATOR GEN_PEDIDO).
No Interbase existe uma função chamada GEN_ID(), que incrementa o valor do GENERATOR. Ela necessita de dois parâmetros: Nome do Generator, valor do incremento. Agora é só você utilizar:
´SELECT GEN_ID(GEN_PEDIDO, 1) FROM RDB$DATABASE´
E você obterá uma nova sequência para sua tabela de Pedidos, sendo que você poderá guardar esse código, numa variável no Delphi para posterior gravação na tabela PEDIDO_ITEM.
[]´s
GOSTEI 0