Fórum criar View através de uma Stored Procedure Firebird é possível? #399292
15/04/2011
0
Galera é possível Criar uma view atraves do resultado de uma Store Procedure?
Eu tenho a seguinte Procedure:
CREATE PROCEDURE SP_LISTA_ESTOQUE returns ( prod_id integer, ean13 dm_cod_barras, prod_descricao varchar(80), preco dm_valor, status varchar(8), estoque_l1 numeric(9,3), estoque_l2 numeric(9,3))asdeclare variable id_loja integer;declare variable est_saldo numeric(9,3);BEGIN FOR SELECT produtos.prod_id, produtos.prod_ean, produtos.prod_descricao, produtos.prod_pco_varejo, case when produtos.prod_status = 'A' then 'ATIVO' else 'INATIVO' end as prod_status FROM PRODUTOS ORDER BY 1
INTO :prod_id, :EAN13, :prod_descricao, :preco, :status DO BEGIN ESTOQUE_L1 = 0; ESTOQUE_L2 = 0;
for select coalesce(e1.loj_id, -1), coalesce(e1.estoq_atual,0) from estoque e1 where e1.prod_id = :prod_id and e1.estoq_id = (select max(e2.estoq_id) from estoque e2 where e2.prod_id = e1.prod_id and e2.loj_id = e1.loj_id) into :id_loja, :est_saldo do begin if (:id_loja = 1) then ESTOQUE_L1 = est_saldo; else if (:id_loja = 2) then ESTOQUE_L2 = est_saldo; end suspend; ENDEND ----------------------------------------------------------------------------------------
Onde eu chamo ela da seguinte forma: SELECT * FROM SP_LISTA_ESTOQUE .
Como faço para criar uma view em cima desse resulto do select?
Eu tenho a seguinte Procedure:
CREATE PROCEDURE SP_LISTA_ESTOQUE returns ( prod_id integer, ean13 dm_cod_barras, prod_descricao varchar(80), preco dm_valor, status varchar(8), estoque_l1 numeric(9,3), estoque_l2 numeric(9,3))asdeclare variable id_loja integer;declare variable est_saldo numeric(9,3);BEGIN FOR SELECT produtos.prod_id, produtos.prod_ean, produtos.prod_descricao, produtos.prod_pco_varejo, case when produtos.prod_status = 'A' then 'ATIVO' else 'INATIVO' end as prod_status FROM PRODUTOS ORDER BY 1
INTO :prod_id, :EAN13, :prod_descricao, :preco, :status DO BEGIN ESTOQUE_L1 = 0; ESTOQUE_L2 = 0;
for select coalesce(e1.loj_id, -1), coalesce(e1.estoq_atual,0) from estoque e1 where e1.prod_id = :prod_id and e1.estoq_id = (select max(e2.estoq_id) from estoque e2 where e2.prod_id = e1.prod_id and e2.loj_id = e1.loj_id) into :id_loja, :est_saldo do begin if (:id_loja = 1) then ESTOQUE_L1 = est_saldo; else if (:id_loja = 2) then ESTOQUE_L2 = est_saldo; end suspend; ENDEND ----------------------------------------------------------------------------------------
Onde eu chamo ela da seguinte forma: SELECT * FROM SP_LISTA_ESTOQUE .
Como faço para criar uma view em cima desse resulto do select?
Sidney Abreu
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)