[firebase-br] RES: RES: RES: RES: campos duplicados

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Dom Dez 19 12:14:46 -03 2010


isso, tenho que saber se em estoque tem esses dois registros

Em 19 de dezembro de 2010 10:21, Felix <felix.sol em terra.com.br> escreveu:

> Nesta ultima vc esta pegando o conteúdo de Estoque, verifica em Estoque,
> para inserir novamente em Estoque?
>
> Fco. Felix
> Desenvolvimento de Sistemas
> www.soltecnologia.com.br
>
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Reijanio Nunes Ribeiro
> Enviada em: domingo, 19 de dezembro de 2010 09:20
> Para: FireBase
> Assunto: Re: [firebase-br] RES: RES: RES: campos duplicados
>
> modifiquei eles para poder agregar mais campos porem da a mensagem da
> exception pra todos os arquivos inseridos
> e não salva
> CREATE OR ALTER PROCEDURE VERIF_PROD_EST (
>    p_cod integer,
>    p_codprod varchar(18),
>    p_local char(3),
>    p_cod_emp integer,
>    p_dt date)
> as
> begin
> for select codprod,  cod_local from estoque
> into :p_codprod, :p_local  do
> begin
>  if(Exists(select * from estoque WHERE codprod =:p_codprod and cod_local
> =:p_local))then
>  begin
> exception produtoexistente;
>   end
>    else
>    begin
>    insert into estoque(codigo,codprod, cod_local, cod_emp, dt_entrada)
>    values
>    (
>    :p_cod,
>    :p_codprod ,
>    :p_local,
>    :p_cod_emp,
>    :p_dt
>     );
>  end
> end
> end^
>
>
> Em 19 de dezembro de 2010 07:59, Reijanio Nunes Ribeiro <
> rnribeiro em gmail.com
> > escreveu:
>
> > acho que consegui quero só o aval dos amigos pois não sei se vai dar
> certo
> > mais vejam como fiz
> >
> > CREATE OR ALTER PROCEDURE VERIF_PROD (
> >     p_idprod varchar(18),
> >     p_idtab integer)
> > as
> > begin
> > for select idprod,  idtab from estoque
> > into :p_idprod, :p_idtab  do
> > begin
> >   if(Exists(select * from preco_tabela WHERE idprod =:p_idprod and idtab
> > =:p_idtab))then
> >   begin
> > exception produtoexistente;
> >    end
> >     else
> >     begin
> >     insert into preco_tabela(idprod, idtab)
> >     values
> >     (
> >     :p_idprod ,
> >     :p_idtab
> >      );
> >   end
> > end
> >
> >
> > Em 19 de dezembro de 2010 07:39, Reijanio Nunes Ribeiro <
> > rnribeiro em gmail.com> escreveu:
> >
> > seguinte pessoal a sintaxe do sql seria assim
> >> select * from preco_tabela where idprod = :pcod and idtab = :ptab
> >> assim seria perfeito agora como como fazer uma stored procedure  que
> >> impeça a inserção destes items caso ja existam na tabela
> >>
> >> Em 19 de dezembro de 2010 07:25, Reijanio Nunes Ribeiro <
> >> rnribeiro em gmail.com> escreveu:
> >>
> >> seria um teressante um select que fizesse o laço na tabela e verificasse
> a
> >>> existencia dos dois campos alguem tem alguma ideia de como fazer isso
> achar
> >>> dois campos em linhas identicos e tentar localizar e impedir de inserir
> esse
> >>> select é que to apanhnado pois um campo so é facil mais dois assim não
> estou
> >>> dando conta
> >>>
> >>> Em 19 de dezembro de 2010 07:20, Reijanio Nunes Ribeiro <
> >>> rnribeiro em gmail.com> escreveu:
> >>>
> >>> robson a questão é que vou te exemplificar
> >>>> tenho
> >>>> idprod         idtab
> >>>> 001             1
> >>>> 001             2
> >>>>
> >>>> se colocar um indice nele vai dar erro por que ele so vai aceitar um
> >>>> unico idprod e idtab, vou tentar gerar uma stored procedure que leia
> od
> dois
> >>>> campos e gere uma exceção, ou uma sintaxe que faça isso, creio que
> sejam
> >>>> minhas opções ja que não posso amarra-las por indices unicos pois esta
> >>>> tabela podem conter varios produtos iguais e tabelas diferentes
> >>>>
> >>>> Em 18 de dezembro de 2010 17:10, Robson Catunda <
> >>>> robson.catunda em gmail.com> escreveu:
> >>>>
> >>>> Reijanio,
> >>>>>
> >>>>> volto a insistir.. crie um índice único.
> >>>>>
> >>>>> Delete os duplicados antes de executar o comando abaixo, pois se já
> >>>>> existirem duplicações o indice não será criado.
> >>>>>
> >>>>> *ALTER TABLE* *NOME_DA_TABELA ADD CONSTRAINT* *NOME_DO_INDICE*
> *UNIQUE
> >>>>> (IDTAB, IDPROD);
> >>>>> *
> >>>>> Esse indice amarra codigo de tabela e codigo de produto exatamente
> como
> >>>>> vc
> >>>>> quer. Vai poder ter o mesmo produto em varios codigos de tabelas
> >>>>> distintas,
> >>>>> mas não poderá ter o mesmo codigo de produto mais de uma vez no mesmo
> >>>>> código
> >>>>> de tabela.
> >>>>> ______________________________________________
> >>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
> >>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >>>>>
> >>>>
> >>>>
> >>>
> >>
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista