CRIAR FUN?ÃO GENÉRICA PARA VERIFICA?ÃO
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.
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?
Até mais.
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
[Ô]- 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.
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.
[Ô]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![Ô]
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.