[firebase-br] Ajuda com ALTER TABLE

Eduardo Jedliczka jedyfb em gmail.com
Sex Jun 26 11:14:24 -03 2009


Cuidado, você está alterando uma tabela de sistema, e poderá causar um
problema irrecuperável na sua base de dados com este "UPDATE MÁGICO".

Por regra, não se deve alterar as tabelas de sistema (ainda bem que isto
será proibido nas próximas versões do FireBird), mas se é corajoso (ou
preguiçoso para fazer do jeito correto) SEMPRE faça um backup e restore
após um comando destes.

Abraço

Eduardo

Em Sex, 2009-06-26 às 09:26 -0300, Reijanio Nunes Ribeiro escreveu:

> 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