Preciso inserir um pedido com mais de um código de produto.

15/12/2022

0

Bom dia.

Meu primeiro post aqui, não sei se fiz certo.

Acabei de entrar como estagiario numa empresa e me passaram uma prova pra fazer em que eu preciso criar um sistema de inclusão de pedidos.
O programa é bem simples, foi feito na linguagem Pascal/Delphi e o banco de dados no SQL Server 2019.

Minha dúvida é, preciso incluir um pedido com mais de um item, sendo que no banco de dados tem os seguintes campos:
PK: Cod_Pedido int not null,
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,
O banco de dados em tese aceita um Cod_Produto por linha e não posso usar uma nova linha pois a coluna Cod_Pedido não permite resultados iguais(PRIMARY KEY),
como posso incluir mais um item no mesmo pedido ?
Pedro Sodré

Pedro Sodré

Responder

Post mais votado

15/12/2022

impossível.
a PK deveria ser Cod_Pedido + Cod_Produto, para permitir vários produtos no pedido (mas não permitiria repetir um produto no pedido).

ou criar 2 tabelas: uma para o pedido e uma para os itens do pedido (normalmente é assim que se faz).
Cabeçalho
PK: Cod_Pedido int not null,
Cod_Cliente varchar(20) not null,
Valor_Pedido decimal(18,2) not null,
Cond_Pagamento varchar(5),
Data_Emissao date not null,
Data_Entrega date,
Cod_Vendedor varchar(5)

Itens
PK: Item_Pedido int not null,
FK: Cod_Pedido int not null (FK de Cabeçalho),
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

06/01/2023

Pedro Sodré

impossível.
a PK deveria ser Cod_Pedido + Cod_Produto, para permitir vários produtos no pedido (mas não permitiria repetir um produto no pedido).

ou criar 2 tabelas: uma para o pedido e uma para os itens do pedido (normalmente é assim que se faz).
Cabeçalho
PK: Cod_Pedido int not null,
Cod_Cliente varchar(20) not null,
Valor_Pedido decimal(18,2) not null,
Cond_Pagamento varchar(5),
Data_Emissao date not null,
Data_Entrega date,
Cod_Vendedor varchar(5)

Itens
PK: Item_Pedido int not null,
FK: Cod_Pedido int not null (FK de Cabeçalho),
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,







Maravilha, era exatamente isso, obrigadissimoo
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar