Para alterar o tamanho de um campo CHAR ou VARCHAR no FireBird (ou InterBase 6.0 ou superior) basta executar o comando SQL abaixo:
ALTER TABLE NomeTabela ALTER NomeCampo TYPE NovoTipo
Exemplo:
ALTER TABLE Cliente ALTER Nome TYPE VARCHAR(50)
O comando acima não será aceito se o novo tamanho for menor que o tamanho atual. Neste caso você pode substituir o campo por outro menor e copiar os dados do campo antigo para o novo, mas não esqueça que o conteúdo será cortado para caber no novo campo.
O exemplo a seguir mostra como alterar o campo Nome da tabela Cliente para VARCHAR(40), independente do tamanho atual deste campo.
ALTER TABLE Cliente ALTER Nome TO Nome2
ALTER TABLE Tabela ADD Nome VARCHAR(40)
UPDATE Cliente SET Nome = SUBSTRING(Nome2 FROM 1 FOR 40)
COMMIT
ALTER TABLE Cliente DROP Nome2
Os comandos mostrados nesta dica podem causar perda de dados. Use-os por sua própria conta e risco.
O conteúdo desta página pode ajudar alguém? Compartilhe!