Essa Procedure abaixo faz exatamente o que vc quer.
Para acessa-la através de um select basta fazer o seguinte: Select * from Preço_Venda(12345) Ele vai retornar um campo com o nome PrecoVenda. CREATE PROCEDURE PRECO_VENDA ( codigoproduto integer) returns ( precovenda float) as declare variable precocusto float; declare variable imposto float; declare variable markup float; declare variable fabricante integer; declare variable comprimento float; declare variable largura float; declare variable espessura float; declare variable frete float; declare variable freteaux float; declare variable impostoaux float; begin /* Procura o Produto */ select produtos.precocusto, produtos.imposto, produtos.markup, produtos.fabricante, produtos.comprimento, produtos.largura, produtos.espessura from produtos where produtos.codigo=:CODIGOPRODUTO into :PRECOCUSTO, :IMPOSTO, :MARKUP, :FABRICANTE, :COMPRIMENTO, :LARGURA, :ESPESSURA; /* Procura o Fabricante para cálculo do Frete */ select FRETE from fabricantes where codigo=:fabricante into :FRETE; FRETEAUX = COMPRIMENTO * LARGURA * ESPESSURA/1000 * FRETE; IMPOSTOAUX = PRECOCUSTO * IMPOSTO/100; PRECOVENDA = (PRECOCUSTO + FRETEAUX + IMPOSTOAUX)*(1+MARKUP/100); IF (PRECOVENDA IS NULL) THEN PRECOVENDA=0; suspend; end _____ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Doretto Enviada em: terça-feira, 14 de novembro de 2006 13:41 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Ex. de Stored Procedure c/ retorno O que eu quero é mais +- assim... Tenho uma Stored procedure qualquer c/ o nome Teste(Produto): Vendas eu mando como parâmetro o codigo do produto e a SP me retorna o total de vendas. Teria como eu jogar esta Sp em um Select ? Ex: Selec P.Codigo,P.Descricao (TEste(P.codigo)) as Xvalor From Produtos P onde Teste(P.Codigo) é a SP.. +- assim... Tem Como ? Como eu deveria proceder neste caso ? Abraço ----- Original Message ----- From: Marcelo Hoepfner (SI) To: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br Sent: Tuesday, November 14, 2006 8:39 AM Subject: RES: [delphi-br] Ex. de Stored Procedure c/ retorno Bom pra sql server 2000 eu uso aqui assim, Ela me retorna um único valor que eu pego no delphi como Query.fieldbyname('pesototal').asfloat Ok. CREATE procedure BRAFER_PCP_Apont_Fab_CalculoAcumulOFtp1 @wp_idOF int as begin SELECT SUM(qtde_EXEC * POS_PESO) as pesototoal FROM BRAFER_PCP_VW_Apont_Fabrica WHERE (tipo_mov = 1) AND (idOF = @wp_idOF) AND (OF_Dt_Ult_Revisao IS NULL) AND (Desenho_Dt_Ult_Revisao IS NULL) AND (Status_Bloq = 0) AND (Posicao_Dt_Ult_Revisao IS NULL) AND (Apont_Dt_Ult_Revisao IS NULL) end GO _____ De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br [mailto:[EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br] Em nome de Tiago de Assis Pimenta Enviada em: terça-feira, 14 de novembro de 2006 01:19 Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br Assunto: RES: [delphi-br] Ex. de Stored Procedure c/ retorno Sim é para FB sim ... acho que por ae vc pode ter uma noção de como fazer .... Foi só uma dica para ver se vc tem alguma luz para fazer a sua ST ... Tiago de Assis Pimenta MSN: <mailto:tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com <mailto:tiagopimenta%40hotmail.com> > tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com <mailto:tiagopimenta%40hotmail.com> SKYPE: tiagopimenta_skype GTALK: <mailto:tiagopimenta@ <mailto:tiagopimenta%40gmail.com> gmail.com <mailto:tiagopimenta%40gmail.com> > tiagopimenta@ <mailto:tiagopimenta%40gmail.com> gmail.com <mailto:tiagopimenta%40gmail.com> _____ De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <mailto:delphi-br%40yahoogrupos.com.br> [mailto:[EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <mailto:delphi-br%40yahoogrupos.com.br> ] Em nome de Doretto Enviada em: segunda-feira, 13 de novembro de 2006 16:06 Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br <mailto:delphi-br%40yahoogrupos.com.br> Assunto: Re: [delphi-br] Ex. de Stored Procedure c/ retorno Esta procedure nao seria para Firebird ? Ela funciona para o Sql 2000 ? Abraço ----- Original Message ----- From: Tiago de Assis Pimenta To: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br Sent: Monday, November 13, 2006 1:27 PM Subject: RES: [delphi-br] Ex. de Stored Procedure c/ retorno Um exemplo: CREATE PROCEDURE USUARIOS_PROC ( INPUT_SENHA VARCHAR(15), INPUT_LOGIN VARCHAR(10)) RETURNS ( ID INTEGER, STATUS INTEGER, LOGIN VARCHAR(10)) AS DECLARE VARIABLE VID INTEGER; DECLARE VARIABLE VUSER VARCHAR(15); BEGIN SELECT id, login FROM usuarios WHERE login = :INPUT_login AND senha = :INPUT_SENHA INTO :vID, :vUSER; IF (:vUSER <> '') THEN begin STATUS = 0; ID = :vID; LOGIN = :vUSER; end ELSE STATUS = 1; SUSPEND; END Tiago de Assis Pimenta MSN: <mailto:tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com> tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com SKYPE: tiagopimenta_skype GTALK: <mailto:tiagopimenta@ <mailto:tiagopimenta%40gmail.com> gmail.com> tiagopimenta@ <mailto:tiagopimenta%40gmail.com> gmail.com _____ De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br [mailto:[EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br] Em nome de Doretto Enviada em: segunda-feira, 13 de novembro de 2006 08:44 Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br Assunto: [delphi-br] Ex. de Stored Procedure c/ retorno Bom dia... Gostaria de um Ex: simples de uma Stored procedure c/ retorno de um campo to tipo real. Tenho um sistema e preciso do campo estoque. Vou somar as Entradas e tirar as saidas para compor o estoque: Select Sum(Qtde) as Xentrada From Entrada Where Produto=:CodigoProduto; Select Sum(Qtde) as Xsaidas From Saidas' Where Produto=:CodigoProduto; Em preciso do resultado (Xentrada-Xsaidas) em um SP, mandando como parametro o campo codigo do produto Como eu faria ? Abraço [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] --- spam free by SafestMail® www.safestmail.com.br SafO.X 1.0.160 [As partes desta mensagem que não continham texto foram removidas]