Fórum Declarar variável simples e utilizar em consulta (Select) Oracle #588624
09/11/2017
0
No oracle nao estou tendo a mesma facilidade, eu precisava fazer isso com uma variável mas não deu certo, alguém saberia me dizer onde estou errando?
Lembrando que eu queria simplesmente atribuir o valor 10 à variável, não tenho como dar um "SELECT INTO" nela por que não tenho essa informação no banco de dados.
DECLARE
V_MES OUT NUMBER;
V_MES :=10;
BEGIN
Select SUM(Valor) From Pffinanc
Where CODCOLIGADA = V_MES and CODEVENTO in ('5611')
AND VALOR>0 And MESCOMP = 10 and ANOCOMP = 2017 and chapa in (select chapa from pfunc where codcoligada= 6 )
END
Abraços!

Lailson Junior
Curtir tópico
+ 0Posts
09/11/2017
Roberto Spernega
montando um bloco ficaria mais ou menos assim
set serverout on size 1000000
DECLARE
--
V_MES NUMBER := 10;
v_valor number;
BEGIN
Select SUM(Valor) into v_valor
From Pffinanc
Where CODCOLIGADA = V_MES and CODEVENTO in ('5611')
AND VALOR>0
And MESCOMP = 10
and ANOCOMP = 2017
and chapa in (select chapa from pfunc where codcoligada= 6 );
--
dbms_output.put_line('Valor '||to_char(v_valor));
--
END;
/
ou um select direto
variable v_mes number
exec :v_mes := 10
Select SUM(Valor)
From Pffinanc
Where CODCOLIGADA = :V_MES and CODEVENTO in ('5611')
AND VALOR>0
And MESCOMP = 10
and ANOCOMP = 2017
and chapa in (select chapa from pfunc where codcoligada= 6 );
Não testado...
Gostei + 0
09/11/2017
Lailson Junior
Gostei + 0
10/11/2017
Roberto Spernega
Aparentemente o Select que você postou estava com a variável na posição errada.
variable v_mes number
exec :v_mes := 10
Select SUM(Valor)
From Pffinanc
Where CODCOLIGADA = 6
and CODEVENTO in ('5611')
AND VALOR>0
And MESCOMP = :V_MES
and ANOCOMP = 2017
and chapa in (select chapa from pfunc where codcoligada= 6 );
tenta desse jeito, de ainda der erro, posta o erro.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)