[firebase-br] Ajuda com ALTER TABLE
Alexandre Sousa
dave.malkavian em gmail.com
Sex Jun 26 09:54:27 -03 2009
Cara, tente evitar esses recursos do IBExpert. Ele altera diretamente as
tabelas de sistemas do firebird e consequentemente aumenta a chance de uma
corrupção de base..
O comando de alteração de default do campo se não me engano está disponível
na versão 2.1 do firebird (me corrijam se eu estiver errado).
Meu conselho: crie um campo temporario, faça um update transferindo o valor
do campo original para o novo e renomeie o campo assim:
ALTER TABLE [sua tabela] ALTER [nome da coluna temporária] TO [novo nome da
coluna];
Atenciosamente,
Alexandre Sousa
----- Original Message -----
From: "Reijanio Nunes Ribeiro" <rnribeiro em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, June 26, 2009 9:26 AM
Subject: Re: [firebase-br] Ajuda com ALTER TABLE
brother se vc usar o ibexpert ele vai fazer mais ou menos assim
ALTER DOMAIN RDB$359 SET DEFAULT 0
UPDATE RDB$RELATION_FIELDS F1
SET F1.RDB$DEFAULT_VALUE = NULL,
F1.RDB$DEFAULT_SOURCE = NULL
WHERE (F1.RDB$RELATION_NAME = 'PRODUTO') AND
(F1.RDB$FIELD_NAME = 'IPI')
2009/6/26 Zottis <zottissistemas em brturbo.com.br>
> acho que pelo IBExpert, vc poderá fazer o que vc quer,
> clicando duas vezes sobre o campo e editando-o.
>
> ja via script talvez esse te ajude.
>
> alter table Conta_banco
> add SEQ_DIA_ARQ_REM INTEGER;
>
> alter table TUA_TABELA
>
> add TotalTMP aqui vc coloca como voce quer o campo;
>
>
> update RDB$RELATION_FIELDS set
> RDB$FIELD_SOURCE = (select RDB$FIELD_SOURCE
> from RDB$RELATION_FIELDS
> where RDB$FIELD_NAME = 'TOTALTMP' and
> RDB$RELATION_NAME = 'TUA_TABELA')//TEM QUE SER EM
> MAIUSCULO
> where RDB$FIELD_NAME = 'TEU_CAMPO' and RDB$RELATION_NAME =
> 'TUA_TABELA';//TEM QUE SER EM MAIUSCULO
>
>
> alter table TUA_TABELA
> drop totaltmp;
>
>
> Com este script, eu mudo até os Campos calculados.
>
>
> espero que lhe seja útil.
>
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2009 Ano XII
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
> a um outro de cima para baixo, quando
> vai ajuda-lo a levantar-se".
> Gabriel Garcia Marquez
> ----- Original Message ----- From: "Herminio E. Piram" <
> herminiopiram em gmail.com>
> To: "FireBird" <lista em firebase.com.br>
> Sent: Friday, June 26, 2009 8:33 AM
> Subject: [firebase-br] Ajuda com ALTER TABLE
>
>
>
> Bom dia pessoa.
>
> Pesquisei na net sobre como alterar uma coluna para adicionar um DEFAULT,
> mas sem sucesso. Encontrei como alterar o nome e tipo.
>
> Encontrei estes comandos
>
> alter table <tabela> ALTER COLUMN <coluna> set DEFAULT <valor>
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 1, char 38.
> set.
>
> alter table <tabela> add constraint <nome_Constraint> default <valor> for
> <campo>
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 1, char 44.
> default.
>
> Há como alterar a tabela ou tenho que dropar o campo e cria - lo
> novamente?
>
>
> --
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> _ _ _ _
>
> "If the doors of perception were cleansed everything
> would appear to man as it is, infinite." (William Blake)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> _ _ _ _
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista