Sobre sintaxe Update...
Pessoal como montar um [b:f83e2745d3]Update[/b:f83e2745d3] que se atualiza com dados que já estão no Banco... (sem usar stored procedure ou coisa similar)... como por exemplo esse comando [b:f83e2745d3]Insert[/b:f83e2745d3]
Insert Into TabelaA (Id, Nome) Select Id, Nome From TabelaB
Bruno Belchior
Curtidas 0
Respostas
Adrinei
15/07/2005
Bruno, pq vc ñ usa trigger?
GOSTEI 0
Afarias
15/07/2005
Bom, depende realmente do q se quer com o UPDATE, um exemplo:
update tabela_a a set a.campo = (
select b.campo from tabela_b b where b.chave = a.chave
)
T+
update tabela_a a set a.campo = (
select b.campo from tabela_b b where b.chave = a.chave
)
T+
GOSTEI 0
Bruno Belchior
15/07/2005
update tabela_a a set a.campo = (
select b.campo from tabela_b b where b.chave = a.chave
)
é algo semelhante a isso [b:c07b9c70bc]afarias[/b:c07b9c70bc]... vou testarBruno, pq vc ñ usa trigger?
porque quero evitar ao máximo dependência de Banco de Dados... e aumentar a portabilidadeGOSTEI 0
Rinez
15/07/2005
Eu faço da seguinte maneira no firebird 1.5:
coloco uma sqlquery do dbexpress, com o nome qprocura ,
configurar a sqlconnection para o banco de dados
MONTO UMA JANELA COM O QUE QUERO E
UM EM UM BOTÃO COM O NOME GRAVAR FAÇO:
PRIMEIRO A CRÍTICA DOS DADOS, DEPOIS
with qprocura do begin
close;
sql.clear;
sql.add(´UPDATE TABELA SET CAMPO1=:CAMPO1, ... ,CAMPON=:CAMPON WHERE TALCOISA´);
PARAMBYNAME(´CAMPO1´).ASSTRING:= ALGUMACOISA.TEXT;
...
...
PARAMBYNAME(´CAMPON´).ASINTEGER:= ALGUMINTEGER;
EXECSQL;
END;
É ISSO QUE FAÇO. VOCE DEVE USAR TRANSAÇÃO .
ESPERO TER AJUDADO
QUALQUER DIFICULDADE É SO POSTAR SUA :lol: DÚVIDA.
coloco uma sqlquery do dbexpress, com o nome qprocura ,
configurar a sqlconnection para o banco de dados
MONTO UMA JANELA COM O QUE QUERO E
UM EM UM BOTÃO COM O NOME GRAVAR FAÇO:
PRIMEIRO A CRÍTICA DOS DADOS, DEPOIS
with qprocura do begin
close;
sql.clear;
sql.add(´UPDATE TABELA SET CAMPO1=:CAMPO1, ... ,CAMPON=:CAMPON WHERE TALCOISA´);
PARAMBYNAME(´CAMPO1´).ASSTRING:= ALGUMACOISA.TEXT;
...
...
PARAMBYNAME(´CAMPON´).ASINTEGER:= ALGUMINTEGER;
EXECSQL;
END;
É ISSO QUE FAÇO. VOCE DEVE USAR TRANSAÇÃO .
ESPERO TER AJUDADO
QUALQUER DIFICULDADE É SO POSTAR SUA :lol: DÚVIDA.
GOSTEI 0