Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal
tenho que fazer uma procedure que faz o cadastro em um tabela
ate ai, tudo bem, funciona
porem, eu nao posso permitir registros duplicados
entao tentei usar IF
porem, nao to conseguinto
eu tentei
SELECT if (exists ( select 1 from tbprodutocategoria WHERE ProdutoCategoriaNome = P_ProdutoCategoriaNome )
,
0
,
INSERT INTO tbprodutocategoria(ProdutoCategoriaNome,ProdutoCategoriaDescricao,ProdutoCategoriaImagemCaminho)
VALUES (P_ProdutoCategoriaNome,P_ProdutoCategoriaDescricao,P_ProdutoCategoriaImagemC
aminho)
)
e tentei isso tb
IF(P_ProdutoCategoriaNomeTemp == '')THEN
INSERT INTO tbprodutocategoria(ProdutoCategoriaNome,ProdutoCategoriaDescricao,ProdutoCategoriaImagemCaminho)
VALUES (P_ProdutoCategoriaNome,P_ProdutoCategoriaDescricao,P_ProdutoCategoriaImagemCnao entendi direito como funciona o IF no MYSQL
como eu faria pra impedir o cadastro em duplicidade no MYSQL?
estou usando procedures
abs..
T+
para evitar cadastro repetido basta uma chave nos lugares corretos.
Prog
nao entendia sua pergunta
giesta
A chave unica ja foi criada, porem, ao fazer o cadastro eu tenho um erro certo, eu queria prever isso fazendo primeiro a verificação se existe ou nao o registro.Tendeu?
abs
T+
Há alguma restrição quanto a fazer este controle na aplicação?
Acho q o Prog se referiu a fazer essa verificação no proprio sistema/aplicação e nao no BD...
Posso estar errado, mas esse tipo de coisa nao eh tarefa do banco, e nem deve ser implementado no mesmo. O banco serve para garantir acesso rapido e integridade dos dados, e concordo com o camarada Prog, isso deve ser feito pela indagacao em si
Posso estar errado, mas esse tipo de coisa nao eh tarefa do banco, e nem deve ser implementado no mesmo. O banco serve para garantir acesso rapido e integridade dos dados, e concordo com o camarada Prog, isso deve ser feito pela indagacao em si
discordo, ate por que existe tratamente de erros em Banco de dados(try catch).
e outra, existe a Proteção em Profundidade.
e também deve fica mais pesado
vou ter que acessar o metodo que faz a pesquisa no banco e pegar esse resultado de existe ou nao no Banco, e depois fazer o acesso ao banco para cadastro
so nisso fiz 2 acesso ao banco, teoricamente abri e fechei 2 conexoes e as fechei.
pode me dizer que faco os 2 no mesmo metodo, porem, isso vai contra a separação de responsabilidades também.
obrigado pela opniao de todos
fico no aguardo de novas
abs
T+
Há alguma restrição quanto a fazer este controle na aplicação?