Por algum motivo, a aplicação está tentando usar a mesma chave primária para um 
novo registro. dos parâmetros da procedure, qual deles é o wPedido? Qual é a 
chave primária da tabela relacionada?

[]'s
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qui, 28/5/09, Vinicius da Silva Pinto <vinic...@cnen.gov.br> escreveu:

De: Vinicius da Silva Pinto <vinic...@cnen.gov.br>
Assunto: RES: RES: [delphi-br] Ajuda com stored procedure
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 28 de Maio de 2009, 11:43











    
            
            


      
      Ricardo, do seu jeito não consegui... mais olhando outras apostilas que

tenho eu resolvi em parte, explico melhor.



A procedure ficou assim:



SET TERM ^ ;

CREATE PROCEDURE INCL_SERVICOS (

    wcdevento integer)

as

declare variable wcodest integer;

declare variable wvalor numeric(12,2) ;

BEGIN

FOR select CDESTOQUE, VALORVENDA from BDESTOQUE WHERE INCLUIPACOTE = 'S'

INTO :WCODEST, :WVALOR

DO

BEGIN

INSERT into servicosevento (CDEVENTO, CDESTOQUE, VALORCOBRADO, QTDE,

DATAPEDIDO, CONFIRMADO)

values (:WcdEvento, :WCODEST, :WVALOR, 100, 'Now', 'S');

END



END^

SET TERM ; ^



Eu agora estou com outro problema.... . precisando de ajuda novamente...



Utilizando o IBExpert, mandando executar esta procedure, passo como

parametro um número de pedido válido,

e ela inclui todos os itens do estoque no arquivo certinho... todos eles.



Agora, dentro da minha aplicação, quando eu termino de incluir um pedido,

guardo o numero do pedido em uma variável, fecho o CDS,

Abro o CDS, o pedido está gravado normalmente, ai eu mando executar a

procedure desta forma:



Dm.SP_InclServicos. Params[0] .AsInteger := Wpedido;

Dm.SP_InclServicos. ExecProc;



Estou recebendo mensagens de erro dizendo que esta havendo violação de

chave.



Alguem sabe porque????



-----Mensagem original---- -

De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em

nome de Ricardo César Cardoso

Enviada em: quinta-feira, 28 de maio de 2009 09:04

Para: delphi...@yahoogrup os.com.br

Assunto: Re: RES: [delphi-br] Ajuda com stored procedure



Bom dia Vinícius!



Ainda estou pesquisando a respeito, mas tenta modificar essa tua SP para o

seguinte e me diz o que deu (acerto ou erro e mensagem):



{******** INÍCIO COPY/PASTE ********}

CREATE PROCEDURE INCL_SERVICOS(

  wcdEvento Integer)AS

DECLARE VARIAVLE numEvento INTEGER;

BEGIN

  numEvento = wcdEvento;



  INSERT INTO TBservicos(

    cdestoque,

    cdevento,

    valorcobrado,

    qtde,

    datapedido,

    confirmado

  )

  VALUES IN(

    SELECT cdestoque, :numEvento, valorvenda, 100, Now, 'S'

    FROM bdestoque

    WHERE incluipacote = 'S'

  );

END

{******** FINAL COPY/PASTE ********}



Atte,

Ricardo.



1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.



2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor

compreendida.



3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!



--- Em qui, 28/5/09, Vinicius da Silva Pinto <vinic...@cnen. gov.br>

escreveu:



Valeu Ricardo, eu postei tbm no grupo Firebase, mais não obtive nenhuma



resposta.



Já pesquisei bastante, tenho muito material impresso e alguns livros sobre o



assunto.



É que em todo material que tenho, não faz referencia a incluir uma variavel



junto com um select na inclusão,



e todas as mexidas que eu dou sempre dá erro, por isso recorri a lista.



segue a procedure que estou tentando criar:



CREATE PROCEDURE INCL_SERVICOS (WcdEvento Integer) as



BEGIN



INSERT into TBservicos (CDESTOQUE, CDEVENTO, VALORCOBRADO, QTDE, DATAPEDIDO,



CONFIRMADO)



values in (select CDESTOQUE, :WcdEvento, VALORVENDA, 100, Now, 'S'



from bdestoque where INCLUIPACOTE = 'S');



Já tentei sem o IN, já tentei com a variavel entre aspas e sem o :



O programa esta rodando pois estou fazendo a inclusão na mão, até que



consiga resolver este problema.



Peço desculpa ao pessoal da lista por ter enviado duas vezes o mesmo pedido



de ajuda.



Um abraço a todos.



Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



[As partes desta mensagem que não continham texto foram removidas]



------------ --------- --------- ------



--

<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>




 

      

    
    
        
         
        
        








        


        
        


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a