Como aumentar o tamanho do campo de uma tabela?

Delphi

04/11/2003

Aqui,

to tentando aumentar o tamanho do campo de uma tabela via programação, mas dou o comando sql:

alter table tabela1.db modify (titulo varchar(50))

mas ele fala que ´modify´ é invalid token e tal...

como é a forma correta de aumentar meu campo titulo de 30 para 50 caracteres?

Brigadao!


Garciabh2

Garciabh2

Curtidas 0

Melhor post

Elison Faria

Elison Faria

05/12/2016

ALTERAR TAMANHO DE CAMPO PARADOX

- Faça um backup antes por garantia

1 - Você terá que criar um campo auxiliar,
2 - Transferir a coluna que quer alterar para ele
3 - Depois dê um DROP da coluna que deseja alterar
4 - Crie ela novamente com o tamanho correto
5 - Copie os dados da coluna Aux para a Coluna que você criou
6 - Apague a coluna auxiliar


1 - Você terá que criar um campo auxiliar,
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'Alter Table Nome_Tabela Add Aux VarChar(50)';
Query1.ExecSQL;

2 - Transferir a coluna que quer alterar para ele
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'UPDATE Nome_Tabela SET Aux = Campo_Que_Desejo_Alterar';
Query1.ExecSQL;

3 - Depois dê um drop da coluna que deseja alterar
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'Alter Table Nome_Tabela Drop Campo_Que_Desejo_Alterar';
Query1.ExecSQL;

4 - Crie ela novamente com o tamanho correto
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'Alter Table Nome_Tabela Add Campo_Que_Desejo_Alterar VarChar(50)';
Query1.ExecSQL;

5 - Copie os dados da coluna Aux para a Coluna que você criou
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'UPDATE Nome_Tabela SET Campo_Que_Desejo_Alterar = Aux';
Query1.ExecSQL;

6 - Apague a coluna auxiliar
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'Alter Table Nome_Tabela Drop Aux';
Query1.ExecSQL;

É isso ai pessoal, pra que sofre usando o PARADOX ainda, é o meio mais prático que desenvolvi
Elison Pires
elisonpires@hotmail.com
GOSTEI 1

Mais Respostas

Manjuneiro

Manjuneiro

04/11/2003

Cara,

não sei que banco você está usando, mais eu uso Oracle 8i, e fica deste jeito:

ALTER TABLE tabela MODIFY campo tipo(tamanho);

Eu faço assim. Se funcionar para você, muito bom.

Marco A. Justo


GOSTEI 0
Garciabh2

Garciabh2

04/11/2003

uso o paradox

e nao tá reconhecendo o modify

o add reconhece...


GOSTEI 0
Fred

Fred

04/11/2003

Eu uso o Interbase e faço assim:

alter table nome_tabela alter column nome_campo type novo_tipo

mas se voce usa paradox por nao altera direto no DataBase Desktop.


GOSTEI 0
Garciabh2

Garciabh2

04/11/2003

nao dá pra usar o databasedesktop porque vou ter que alterar essa tabela na maquina dos clientes, entao tenho que fazer uma rotina pra fazer isso sem o trabalho deles


GOSTEI 0
Marco Antônio

Marco Antônio

04/11/2003

Boa tarde meu banco é firebird e utilizo o seguinte comando:
* Um campo do tipo char de 20 caracteres para o mesmo tipo porem com 40 caracteres
ALTER TABLE minhaTabela ALTER meuCampo type char( 40 )

Espero ajudar.

Abc
GOSTEI 0
POSTAR