Alterar tamanho do campo varchar Firebird Run Time
20/08/2005
0
em Firebird com DBExpress.
Fiz:
ALTER TABLE NOMETABELA ADD NOMECAMPO VARCHAR(60)
deu erro.
O campo é varchar(40) quero passar para varchar(60) . Banco de dados
já em trabalho, com dados que não podem ser perdidos.
´Tudo no fim dá certo. Se não deu certo, é porque
não chegou ao fim ainda.´
[color=red:392d9d1a1d]Movido: de Delphi para Interbase/Firebird.[/color:392d9d1a1d]
Rinez
Post mais votado
22/08/2005
ALTER TABLE NomeDaTabela ALTER NomeDoCampo TYPE VARCHAR(60);
Espero ter ajudado.
Joaoshi
Mais Posts
20/08/2005
Marcio.theis
ALTER TABLE NOMETABELA
ADD NOMECAMPOAUX VARCHAR(60)
---
UPDATE TABLE NOMETABELA
SET NOMECAMPOAUX = NOMECAMPO
---
ALTER TABLE NOMETABELA
DROP NOMECAMPO
---
ALTER TABLE NOMETABELA
ADD NOMECAMPO VARCHAR(60)
---
UPDATE TABLE NOMETABELA
SET NOMECAMPO = NOMECAMPOAUX
---
ALTER TABLE NOMETABELA
DROP NOMECAMPOAUX
---
21/08/2005
Rinez
Agradeço muito sua ajuda.
Não teria como, após criar o campo temporário e este campo receber
os dados do campo antigo, apagar o campo antigo e renomear o nome do campo temporário para o nome do campo antigo?
Aguardo sua resposta.
Zenir.
22/08/2005
Marcio.theis
22/08/2005
Rinez
Agradeço sua dica. Valeu cara. Fiz da seguinte forma:
If Application.MessageBox(´Fez Backup do Banco??´,´Confirmação´,MB_ICONQUESTION+ MB_YESNO+MB_DEFBUTTON2)=idno then exit;
try
with qprocura do begin
close;
sql.Clear;
sql.Add(´ALTER TABLE MOORC ALTER SERVICO TYPE VARCHAR(60)´);
EXECSQL;
end;
except
on e:exception do begin
showmessage(´Erro.Tamanho do Campo não alterado´+E.MESSAGE);
exit;
end;
end;
showmessage(´Tamanho do Campo alterado com sucesso´);
//******* onde qprocura é uma sqlquery do DBExpress *************
Esta dica pode ser util a outros programadores.
Aproveito, para dar os Parabéns ao ClubeDephi, pela excelente revista
e pela atenção dispensada aos programadores.
Zenir Curitiba
03/01/2024
Gladstone Matos
ALTER TABLE NomeDaTabela ALTER NomeDoCampo TYPE VARCHAR(60);
otimo!!
Clique aqui para fazer login e interagir na Comunidade :)