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-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em nome de Ricardo César Cardoso Enviada em: quinta-feira, 28 de maio de 2009 09:04 Para: delphi-br@yahoogrupos.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.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>