CRIAR FUN?ÃO GENÉRICA PARA VERIFICA?ÃO

KERPLUNK 30/03/2017 15:35:38
#472893
Citação:

:
Seria então:

ALTER TABLE Pedido
ADD FOREIGN KEY (ItemPedidoID) REFERENCES ItemPedido(ItemPedidoID); ???


Bem, esse comando serviria para criar uma foreign key na tabela Pedido, ligando o campo ItemPedidoID à tabela ItemPedido, no campo ItemPedidoID.

O que você quer é ligar o produto do pedido à tabela de produtos.

Explicando melhor uma chave estrangeira: Vamos usar esse mesmo cenário que você tem. Você tem uma tabela de pedido(que suponho contenha dados do cabeçalho do pedido), uma tabela de ítens do pedido e nessa tabela de ítens, um campo que contém o ID do produto. Quando você adiciona um ítem no pedido(um produto), você quer que o código de produto no registro adicionado, seja de um produto existente, não um código qualquer. Isso quer dizer que o campo [Ô]Produto[Ô] ou seja lá como você chama na sua tabela de ítens de pedido, deve ter uma chave estrangeira apontando para o campo de ID(geralmente chave primária) da tabela de produtos. Então seria algo como

ALTER TABLE ItemPedido
ADD FOREIGN KEY (ItemPedidoID) REFERENCES Produto(ID);

Note que o que está entre parênteses depois de Produto, deve ser o nome do campo que contém o código de produto.
PERCIFILHO 30/03/2017 16:24:30
#472895
Beleza, Kerplunk,

Citação:

Quando você adiciona um item no pedido(um produto), você quer que o código de produto no registro adicionado, seja de um produto existente, não um código qualquer.



E nesse caso, se o produto não existir, aparecerá alguma mensagem? Ou irá ocorrer um erro e eu terei de tratar?
KERPLUNK 30/03/2017 16:26:43
#472896
Se você tentar adicionar na tabela de ítens do pedido, um produto que não exista, você vai ter uma exceção referente à violação de chave estrangeira.
PERCIFILHO 30/03/2017 16:31:58
#472897
Falou, Kerplunk, muito obrigado mais uma vez pela sua dedicação e paciência.
Até mais.
KERPLUNK 30/03/2017 17:11:49
#472903
Citação:

:
Falou, Kerplunk, muito obrigado mais uma vez pela sua dedicação e paciência.
Até mais.


Como diria o garçom em um episódio do Chapolim: Estamos aqui pra isso
PROFESSOR 31/03/2017 20:46:27
#472935
Foreign Keys, Primary Keys, Unique Keys, Constraints, palavras reservadas, DDL, DML, patterns, triggers, stored procedures, user functions, views / materialized views, packages ...

[Ô]- Nossa, nem perco tempo querendo saber o que é isso. Só dá tranalho.[Ô]
é, é isso aí mesmo, acho muito bom que existe quem pense dessa forma. Afinal, empresas como a Oracle e a Microsoft gastam milhões de dólares anualmente para aprimorar essas [Ô]coisas[Ô] que [Ô]ninguém precisa[Ô].

Quem se interessa por entregar pão-quente á toda hora, não liga mesmo. Quem quer criar um produto confiável, a história é bem outra. Estes se preocupam com confiabilidade, com performance, com padronização, com segurança e, acima de tudo, com o próprio nome.

Obs.: Pessoal, desculpem usar este tópico como veículo da minha impaciência. Mas o assunto é básico, antigo e velho conhecido, e ainda assim, me deparo cotidianamente, diariamente, com POGamadores. Muitos dos quais, acessam o VBMania e o Macoratti só para copiar e colar códigos. E como eu sei que alguns colegas vão [Ô]xeretar[Ô] por aqui eventualmente, o que eu postei é muito mais endereçado á eles do que a vocês. Peço desculpas sinceras, mas na fúria do desabafo, já postei. Editei agora para não magoar aqueles que, sem o devido merecimento, acabaram como vítimas do meu desabafo pessoal.
KERPLUNK 31/03/2017 21:43:43
#472938
Pois é PROFESSOR, esse é um dos motivos de eu estar tão desmotivado de postar mais vídeos. O pessoal só quer o código fonte, não quer realmente aprender, simplesmente copiar e colar. Obviamente não é o caso de todos, mas inegavelmente, de uma maioria. Os vídeos que mais possuo acesso, são os que têm código fonte, já vi até posts em outros forums onde postavam diretamente o caminho do código fonte que eu postei em um vídeo. Isso é de desanimar.
NILSONTRES 31/03/2017 22:14:42
#472939
Citação:

Foreign Keys, Primary Keys, Unique Keys, Constraints, palavras reservadas, DDL, DML, patterns, triggers, stored procedures, user functions, views / materialized views, packages ...
[Ô]- Nossa, nem perco tempo querendo saber o que é isso. Só dá tranalho.[Ô]
é, é isso aí mesmo, acho muito bom que existe quem pense dessa forma. Afinal, empresas como a Oracle e a Microsoft gastam milhões de dólares anualmente para aprimorar essas [Ô]coisas[Ô] que [Ô]ninguém precisa[Ô].


PROFESSOR,
O único que questionou tais praticas nesse tópico foi eu, entendo que seja para min, mas não condeno o senhor, eu nos meus muitos anos de programação confesso que pequei em não me especializar nas praticas que envolvem banco de dados, utilizei somente o básico mesmo.
Ficou de lição para min que é, não se meter onde não tem total conhecimento.
Apareça mais por favor, Obrigado MESTRE.
Abraço.
KERPLUNK 04/04/2017 17:03:36
#473012
Há mais de 20 anos, quando comecei com TI, um gerente me falou assim:
[Ô]Se o recurso existe e indicado ser usado, é porque assim deve ser. Se você não o está usando porque não consegue, então você precisa aprender. Desistir só porque não entendeu em um primeiro momento é uma péssima idéia[Ô]

NILSOTRES, acredito que o professor não se referia diretamente à você. Mas ele tem razão, o uso de chaves(primárias e estrangeiros) e todos os recursos disponíveis nos bancos de dados devem ser explorados ao máximo. Quanto menos código você precisar gerenciar, melhor. Não se ofenda não! Como diria uma véia que já foi prefeita: [Ô]Relaxa e goza![Ô]
NILSONTRES 04/04/2017 22:07:01
#473034
Citação:

NILSOTRES, acredito que o professor não se referia diretamente à você. Mas ele tem razão, o uso de chaves(primárias e estrangeiros) e todos os recursos disponíveis nos bancos de dados devem ser explorados ao máximo. Quanto menos código você precisar gerenciar, melhor. Não se ofenda não! Como diria uma véia que já foi prefeita: [Ô]Relaxa e goza!


Não, não me ofendi mesmo, repare que até agradeci ao Professor, tenho maior respeito, desde 2002 que leio seus textos dele aqui e aprendi muito.
Obrigado KERPLUNK.
Página 2 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas