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 ?
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é
Curtir tópico
+ 0
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,
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
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,
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
Clique aqui para fazer login e interagir na Comunidade :)