[firebase-br] [off-topic] bd firebird - Master-Detail - Não aceita inserir registros ???
Nilton Oliveira
nillgolv em bol.com.br
Dom Maio 8 20:54:31 -03 2011
pessoal, desvendam este mistério para mim, estou meio confuso, não entendi o porque deste erro.
tabela master
-------------
create table cliente (
id_cliente integer not null,
nome varchar(50),
dtnascimento date,
telefone varchar(17)
);
primary keys
------------
alter table cliente add constraint pk_cliente_1 primary key (id_cliente);
tabela detail
-------------
create table venda (
id_venda integer not null,
id_cliente integer not null,
vendedor varchar(50)
);
primary keys
------------
alter table venda add constraint pk_venda primary key (id_venda);
foreign keys
------------
alter table venda add constraint fk_venda_1 foreign key (id_cliente) references cliente (id_cliente);
na tabela master, tenho os registros codigo=1, codigo=2, codigo=3, codigo=4, codigo=5
na tabela detail, quando vou adicionar os registros abaixo, acontece o erro
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (1, 1, 'silva'); // gravou
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (2, 1, 'ana'); // gravou
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (1, 2, 'pedro');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (2, 2, 'carlos');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (3, 2, 'maria'); // gravou
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (1, 3, 'lucia');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (2, 3, 'santos');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (3, 3, 'flavia');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (1, 4, 'keila');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (2, 4, 'cristina');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (3, 4, 'paula');
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (4, 4, 'sergio'); // gravou
insert into "venda" ("id_venda", "id_cliente", "vendedor") values (1, 5, 'claudio');
commit work;
veja que gravou somente os registros com id_venda: 1, 2, 3, 4.
não entendo este erro, no id_venda nao teria que ser a sequencia de registros de cada cliente
Mais detalhes sobre a lista de discussão lista