[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