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]

Responder a