Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ikawa

View

Recommended Posts

Boa tarde pessoal, estou tentando criar uma VIEW e em uma condição coloquei a variável de substituição &, porem ao criar a VIEW ele solicita que eu insira o valor, e gostaria de deixar um valor em branco, para alguém que for dar uma select na VIEW inserir o valor. Obrigado pessoal.

 

 

create or replace view vdic_consulta_diaria_uti (

CONTA,

PROCEDIMENTO,

DESCRICAO,

DIAS_UTI )

as

select i.cd_reg_fat CONTA,

i.cd_pro_fat PROCEDIMENTO,

p.ds_pro_fat DESCRICAO,

sum(i.qt_lancamento)DIAS_UTI

from dbamv.itreg_fat i join dbamv.pro_fat p

on (i.cd_pro_fat = p.cd_pro_fat)

where i.cd_reg_fat in &

and p.ds_pro_fat like '%DIA%UT%'

group by i.cd_reg_fat, i.cd_pro_fat, p.ds_pro_fat

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ikawa,

 

Faça o seguinte: construa a View sem a condição para em seguida aplicar a condição na View construída.

 

Veja só:

1. Cria a View sem a condição de substituição:

 

create or replace view vdic_consulta_diaria_uti (
CONTA, 
PROCEDIMENTO, 
DESCRICAO,
DIAS_UTI )
as
select i.cd_reg_fat CONTA, 
i.cd_pro_fat PROCEDIMENTO, 
p.ds_pro_fat DESCRICAO,
sum(i.qt_lancamento)DIAS_UTI 
from dbamv.itreg_fat i join dbamv.pro_fat p 
on (i.cd_pro_fat = p.cd_pro_fat)
where 
p.ds_pro_fat like '%DIA%UT%'
group by i.cd_reg_fat, i.cd_pro_fat, p.ds_pro_fat

 

2. Aplica a condição na sua View

Select * 
 from vdic_consulta_diaria_uti 
where CONTA in & 

 

Compartilha com agente se funcionar. ; ]

 

Um abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ikawa,

 

Faça o seguinte: construa a View sem a condição para em seguida aplicar a condição na View construída.

 

Veja só:

1. Cria a View sem a condição de substituição:

 

create or replace view vdic_consulta_diaria_uti (
CONTA, 
PROCEDIMENTO, 
DESCRICAO,
DIAS_UTI )
as
select i.cd_reg_fat CONTA, 
i.cd_pro_fat PROCEDIMENTO, 
p.ds_pro_fat DESCRICAO,
sum(i.qt_lancamento)DIAS_UTI 
from dbamv.itreg_fat i join dbamv.pro_fat p 
on (i.cd_pro_fat = p.cd_pro_fat)
where 
p.ds_pro_fat like '%DIA%UT%'
group by i.cd_reg_fat, i.cd_pro_fat, p.ds_pro_fat

 

2. Aplica a condição na sua View

Select * 
 from vdic_consulta_diaria_uti 
where CONTA in & 

 

Compartilha com agente se funcionar. ; ]

 

Um abraço,

 

 

 

 

 

Felipe, muito obrigado pela resposta, vou testar e pode deixar caso funcione eu compartilho sim com todos será um prazer.

Obrigado.

 

Olá Ikawa,

 

Faça o seguinte: construa a View sem a condição para em seguida aplicar a condição na View construída.

 

Veja só:

1. Cria a View sem a condição de substituição:

 

create or replace view vdic_consulta_diaria_uti (
CONTA, 
PROCEDIMENTO, 
DESCRICAO,
DIAS_UTI )
as
select i.cd_reg_fat CONTA, 
i.cd_pro_fat PROCEDIMENTO, 
p.ds_pro_fat DESCRICAO,
sum(i.qt_lancamento)DIAS_UTI 
from dbamv.itreg_fat i join dbamv.pro_fat p 
on (i.cd_pro_fat = p.cd_pro_fat)
where 
p.ds_pro_fat like '%DIA%UT%'
group by i.cd_reg_fat, i.cd_pro_fat, p.ds_pro_fat

 

2. Aplica a condição na sua View

Select * 
 from vdic_consulta_diaria_uti 
where CONTA in & 

 

Compartilha com agente se funcionar. ; ]

 

Um abraço,

 

 

 

 

 

Felipe, muito obrigado pela resposta, vou testar e pode deixar caso funcione eu compartilho sim com todos será um prazer.

Obrigado.

 

 

 

 

 

 

Felipe, não funcionou ele da o erro ORA-00904.

 

O estranho é que seu eu executo na select ele me traz o resultado normal.

 

select i.cd_reg_fat CONTA,

i.cd_pro_fat PROCEDIMENTO,

p.ds_pro_fat DESCRICAO,

sum(i.qt_lancamento)DIAS_UTI

from dbamv.itreg_fat i join dbamv.pro_fat p

on (i.cd_pro_fat = p.cd_pro_fat)

where i.cd_reg_fat in &

and p.ds_pro_fat like '%DIARIA%UTI%'

group by i.cd_reg_fat, i.cd_pro_fat, p.ds_pro_fat

 

 

se eu exexuto na view, ele me da o erro ora-00904 invalid identifier

 

select * from vdic_consulta_diaria_uti

where cd_reg_fat in &

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É Oracle ou SqlServer ?

 

E como disse o Felipe Pierin, crie a VIEW sem filtros, faça isto no SELECT que a usa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É Oracle ou SqlServer ?

 

E como disse o Felipe Pierin, crie a VIEW sem filtros, faça isto no SELECT que a usa.

 

 

Olá pessoal, obrigado pelos posts, é oracle, fiz o que você disse tentei colocar o parametro de substituição no select mas não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.