Como alterar os campos de uma tb c/ dados gravados

Firebird

05/05/2003

Como eu modifico um campo de uma tabela que ja tem informacoes gravadas. Ex: Tenho uma tabela clientes que tenha os seguintes campos!

Create Table Clientes ( Nome Char(30) Not Null, Endereco Char(50), Primary Key (Nome) );

O campo Nome e Chave primaria e o campo endereco nao é nem Not Null e primary key, como eu faco para realizar uma modificacao nesta tabela onde eu consiga fazer com que o campo Endereco seja Not Null e Primary key. Obs: Esta tabela ja tem informacoes gravadas e banco de dados e InterBase 6 !


Rodrigo Ferreira

Rodrigo Ferreira

Curtidas 0

Respostas

Raph

Raph

05/05/2003

Para mudar de não not null p/ not null:
update RDB$RELATION_FIELDS set
RDB$NULL_FLAG = 1
where (RDB$FIELD_NAME = ´Nome_do_campo´) and
(RDB$RELATION_NAME = ´Nome_da_tabela´)

Para adicionar uma primary Key:
ALTER TABLE Nome_da_Tabela ADD CONSTRAINT Nome_do_Constraint PRIMARY KEY (Chaves...);

//Creio que vc terá que deletar o constraint antigo neste caso

Se quiser, o programa IBExpert permite que vc faça estas mudanças sem muita dificuldade


GOSTEI 0
Rodrigo Ferreira

Rodrigo Ferreira

05/05/2003

legal amigo, mais como eu faco para apagar a primary key desta tabela por exemplo.

Como eu deveria colocar a instrucao para eliminar a primary key e depois adicionar novamente uma outra primary key?



CREATE TABLE ´CLIENTES´
(
´NOME´CHAR(10) NOT NULL,
´ENDERECO´CHAR(20),
PRIMARY KEY (´NOME´)
);


GOSTEI 0
POSTAR