| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 12:33:07
|
mcpcunha
HelloWorld
Membro desde: 23/09/2006 15:34:15
Mensagens: 14
Offline
|
Olá amigos,
Sempre usei o MySQL como meu banco de dados preferido, mas estou fazendo um sistema pequeno para um amigo e preferi usar como banco de dados o Java DB, por poder ser embarcado na própria aplicação, que será desktop. Não quero que meu cliente tenha que ficar instalando o MySQL no computador dele, iniciando o servidor, etc, seria muito tedioso.
Bom, o pau é o seguinte: tenho 2 tabelas, uma CLIENTES e outra PROJETOS. CLIENTES tem como chave primária um campo "nome", do tipo Varchar. Um Cliente solicita um ou mais Projetos, e um Projeto só pode ser solicitado por um Cliente. Temos uma relação então Clientes -> Projetos de 1:M, OK? a chave primária "nome", da tabela CLIENTES vai como chave estrangeira para a tabela PROJETOS. Até aí tudo bem... O problema é na hora de criar a restrição de integridade. Fica assim:
create table APP.PROJETOS (
id_projeto integer not null primary key generated always as identity,
nome varchar(100) not null,
data_visita date,
data_entrega date,
valor double not null,
descricao varchar(250),
nome_cliente varchar(150) constraint nome_cliente_fk references APP.Clientes, <---------
observacoes varchar(350)
);
(Observem a seta). Mas desse jeito, ao atualizar um nome de cliente ocorre uma restrição de integridade e aborta. Se eu colocar ON UPDATE CASCADE, o Java DB NÃO aceita (vi no seu manual e ele só aceita RESTRICT e NO ACTION). Tanto faz. Não se pode mais atualizar um nome de cliente depois que ele está como chave estrangeira em algum projeto. No MySQL bastava usar o ON UPDATE CASCADE, mas como disse, não existe essa opção no Java DB. Não sei o que fazer!!!!
Desculpem o longo post. Se alguém souber como resolver, me ajude.
Grato.
|
-----------------------------------------------------
Marcelo Carvalho Pinto da Cunha
Engenheiro de Sistemas
marcelo.cp.cunha@bol.com.br
----------------------------------------------------- |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 12:52:05
|
ricardosoares
JavaEvangelist
![[Avatar]](/images/avatar/1cc8a8ea51cd0adddf5dab504a285915.jpg)
Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline
|
hsqldb aceita on cascade
|
Ricardo Soares |
|
|
 |
|
|
|
|