Ir para conteúdo

Arquivado

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

Duxino

Problema com sintax

Recommended Posts

Estou tentando criar essa Function com base as informações que obtive do manual do MySQL, sei que deve ser algo bobo e idiota entretanto não consigo enxergar onde está o erro. :ph34r: Se alguém puder abrir meus olhos

Desde já muito obrigado pessoal!

 

DELIMITER $$
CREATE Function sc_retornarSaldoAnterior(empresa smallint, mes smallint, ano smallint) RETURNS NUMERIC(30,2)
BEGIN
DECLARE Retorno NUMERIC(30,2);
DECLARE SaldoAnterior NUMERIC(30,2) DEFAULT 0;
DECLARE Creditos NUMERIC(30,2) DEFAULT 0;
DECLARE Debitos NUMERIC(30,2) DEFAULT 0;
Declare Periodo NUMERIC(20);
begin
IF(mes=1) then
Set Periodo = '01/01/' + cast(ano as varchar(4));
else
Set Periodo = '01/' + right ('00' + rtrim(cast(mes - 0 as varchar(2))), 2) + '/' + cast (ano as varchar(4));
End if
End
Set SaldoAnterior =
(
Select
Sum
(
Case
When
Cast('S' As varchar) = 'S'
Then
Case
When
T_9.T_C_14_9 < Cast( Periodo As datetime)
Then
Case
When
T_9.T_C_21_9 = 'C'
Then
Coalesce(T_9.T_C_9_9, 0)
Else
Coalesce( -1 * T_9.T_C_9_9, 0)
End
Else
0
End
Else
0
End
)
From
G_8
Inner Join T_8_1 On G_8.G_ID_8 = T_8_1.G_ID_8
Inner Join T_9 On T_8_1.T_ID_8_1 = T_9.T_ID_8_1
Where
T_8_1.T_C_8_8_1 = 'A'
And
T_9.G_ID_0 = empresa
);
if mes <> -1
begin
Set Creditos =
(
Select
Sum
(
Case When Month(T_9.T_C_14_9) = mes Then Coalesce(T_9.T_C_9_9, 0)
Else 0 End
)
From
T_3_5
Left Join T_9 On T_9.T_ID_3_5 = T_3_5.T_ID_3_5 And Year(T_9.T_C_14_9) = ano
Where
T_3_5.T_C_4_3_5 = 'C'
And
T_3_5.G_ID_0 = empresa
);
Set Debitos =
(
Select
Sum
(
Case When Month(T_9.T_C_14_9) = mes Then Coalesce(T_9.T_C_9_9, 0)
Else 0 End
)
From
T_3_5
Left Join T_9 On T_9.T_ID_3_5 = T_3_5.T_ID_3_5 And Year(T_9.T_C_14_9) = ano
Where
T_3_5.T_C_4_3_5 = 'D'
And
T_3_5.G_ID_0 = empresa
);
end;
Set Retorno = SaldoAnterior + Creditos - Debitos;
RETURN Retorno;
END $$

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mateus.andriollo
      Boa tarde,
      Tenho alguns campos numéricos q ao fazer uma select gostaria q retornasse uma legenda
       
      exemplo:
      Status: 0=Inativo / 1=Ativo Condição: 1=Funcionando / 2=Em manutenção / 3=Manutenção Interna   
      Seria algo assim, tenho varias tabelas com estes campos... mas tenho q ficar usando replace.
      Existe uma forma de criar uma função para isso? Nem q na função eu tenha que setar nome do campo, ficando assim:
      Legenda('Status',cadastro.status) 
    • Por Luiz Henrique
      Olá pessoas,
       
      Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.
       
      use Class1; class Class2 { public $className = 'Class1'; ... $dados = $this->className::function(); // não funciona } Era para gerar isso:
      $dados = Class1::function();
      Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!
      Tem alguma forma de funcionar isso?
       
      Obrigado.
    • Por ernestovm
      Bom dia.
      Descobri, depois de muito trabalho, um problema esquisito. Tenho duas imagens que chamam funções JavaScript determinadas. Uma funciona e a outra não. Isso no Firefox. No Chrome as duas funcionam perfeitamente. Alguém conhece alguma gambiarra para fazer o Firefox funcionar? Segue os códigos:
      HTML:
      <img src="images/ic_abrir.png" width="70" height="70" onClick="abre_notificacao(<? echo "'".$us_codigo."','".$item."'"; ?>);" style="cursor:pointer" id="p_imagem-<? echo $item; ?>" name="p_imagem-<? echo $item; ?>">
       <img src="images/ic_excluir.png" width="70" height="70" onClick="excluir_notificacao(<? echo "'".$us_codigo."'"; ?>);" style="cursor:pointer">
      JAVASCRIPT:
      <script type="text/javascript">
          function abre_notificacao(codigo,indice) {
              $("#p_imagem-"+indice).attr("src","images/ic_abrir_ok.png");
              $("#ver-"+indice).css("display", "block");
          }
          function excluir_notificacao(codigo) {
              $.post("excluir_notificacao.php", {codigo: codigo}, function(resposta) {
                  confirm(resposta+" ("+codigo+")");
              });
              location.reload();
          }

      </script>
      A Função abre_notificacao(codigo,indice)  funciona perfeitamente nos dois browsers.
      A Função excluir_notificacao(codigo) só funciona no Chrome.
      Obrigado pela luz
    • Por unset
      Olá, estou começando a usar o twig template e estou com uma dúvida e não encontrei a resposta também não sei se é possível mais espero que seja possível
       
      Bom eu tenho um arquivo com várias funções, como eu faço para chamar essas funções no HTML?
       
      Não funciona assim {{ funcao() }}
    • Por Luiz Henrique
      Olá,
      Existe alguma forma de executar a função dentro da mesma?
      EX:
       
      function pai(){
          pai();
      }
       
      Obrigado.
×

Informação importante

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