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

Felix felix.sol em terra.com.br
Dom Dez 19 11:21:23 -03 2010


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





Mais detalhes sobre a lista de discussão lista