[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