Fórum Ordenar Procedure #48104
17/11/2004
0
CREATE PROCEDURE PROC_NOTASFISCAISPED ( DATAINI DATE, DATAFIM DATE) RETURNS ( DATA DATE, NOTAFISCAL BIGINT, CLIENTE INTEGER, NOME VARCHAR(60), TOTAL NUMERIC(15,2), FRETE NUMERIC(15,2)) AS DECLARE VARIABLE PEDIDO BIGINT; DECLARE VARIABLE NUMERO SMALLINT; begin BEGIN FOR SELECT PEDIDOS.EMISSAO, PEDIDOS.ID_PEDIDO, PEDIDOS.NOTAFISCAL, PEDIDOS.CLIENTE, CLIENTES.NOME, PEDIDOS.VALOR_FRETE FROM PEDIDOS INNER JOIN CLIENTES ON CLIENTES.ID_CLIENTE = PEDIDOS.CLIENTE WHERE PEDIDOS.EMISSAO BETWEEN :DATAINI AND :DATAFIM AND (PEDIDOS.TRANSPORTADORA = 1 AND (PEDIDOS.situacao = 1 and PEDIDOS.controle =1) or (PEDIDOS.situacao in(2,3,4,5)) AND PEDIDOS.TIPO NOT IN(2,4,6) AND PEDIDOS.TPFRETE = 1) INTO :DATA, :PEDIDO, :NOTAFISCAL, :CLIENTE, :NOME, :FRETE DO FOR Select Sum((Itens_Ped.Preco / Itens_Ped.Divisor) * (Itens_Ped.Quantidade * Itens_Ped.Divisor)) as valor From itens_ped WHERE ITENS_PED.PEDIDO = :PEDIDO INTO :TOTAL DO SUSPEND; END BEGIN FOR SELECT PED_FATURAR.EMISSAO, PED_FATURAR.PEDIDO, PED_FATURAR.NUMERO, PED_FATURAR.NOTAFISCAL, PED_FATURAR.CLIENTE, CLIENTES.NOME, PED_FATURAR.VALOR_FRETE FROM PED_FATURAR INNER JOIN CLIENTES ON CLIENTES.ID_CLIENTE = PED_FATURAR.CLIENTE WHERE PED_FATURAR.EMISSAO BETWEEN :DATAINI AND :DATAFIM AND (PED_FATURAR.TRANSPORTADORA = 1 AND (PED_FATURAR.situacao = 1 and PED_FATURAR.controle =1) or (PED_FATURAR.situacao in(2,3,4,5)) AND (PED_FATURAR.TPFRETE =1)) INTO :DATA, :PEDIDO, :NUMERO, :NOTAFISCAL, :CLIENTE, :NOME, :FRETE DO FOR Select Sum((Itens_PedFaturar.Preco / Itens_PedFaturar.Divisor) * (Itens_PedFaturar.Quantidade * Itens_PedFaturar.Divisor)) as valor From itens_pedfaturar WHERE ITENS_PEDFATURAR.PEDIDO = :PEDIDO AND ITENS_PEDFATURAR.NUMERO = :NUMERO INTO :TOTAL DO SUSPEND; END end
Que me retornar os pedidos e em seguida me retorna os pedidos a faturar, gostaria de saber se tem alguma forma de ordenar pela notafiscal, mas independente da tabela, ou seja depois que executou a procedure o resultado deverá ser ordenado, tem alguma forma de fazer isto?
msn: bruno_solucao@hotmail.com
Bruno_solucao
Curtir tópico
+ 0Posts
17/11/2004
Emerson Nascimento
se for um TQuery ou TSQLQuery, faça a ordenação nele. ou no ClientDataset que receberá o resultset.
Gostei + 0
17/11/2004
Gandalf.nho
Gostei + 0
17/11/2004
Bruno_solucao
Eu não sabia que dava para dar um select em Stored Procedure com parametros de entrada.
Como ficou
select * from proc_notasfiscaisped (´01/01/2000´,´01/01/2005´) order by notafiscal
Gostei + 0
17/11/2004
Gandalf.nho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)