-
Conteúdo Similar
-
Por Edilson Chaves
Ola amigos, uso curso a algum tempo, só que desta vez estou apanhando de algo que aparentemente e bem simples. Tenho certeza que estou esquecendo algum detalhe.
To a 2 dias me debatendo com isto.
Por isto estou pedindo ajuda.
O que pretendo fazer e criar um novo registro que mostre a evoluçao do crecimento mensal projetando o ponto de equilibrio. Para isto eu preciso pegar a soma do mês anterior e acrescentar a soma do atual.
Esta é a Procedure. Abaixo explico o quer nao esta funcionado.
DROP PROCEDURE IF EXISTS sp_Monitorado;
DELIMITER $$
CREATE PROCEDURE sp_Monitorado()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE vVlrMesAtuPrv, vVlrMesAntPrv, vVlrMesAtuRea, vVlrMesAntRea, vPrevisto, vRealizado numeric(10,2);
DECLARE vAnoAtu, vMesAtu, vOrdem, vAno, vMes INT;
DECLARE vGrupo, vSubGrupo, vPessoa, vPessoaAtu VARCHAR(100);
DECLARE cDados CURSOR FOR SELECT Ordem, Grupo, SubGrupo, Pessoa, Ano, Mes, Previsto, Realizado FROM vwresultadomonitoramento;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cDados;
read_loop: LOOP
FETCH cDados INTO vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vRealizado;
IF done THEN
LEAVE read_loop;
END IF;
IF vOrdem <= 4 THEN
SET vVlrMesAtuPrv = vVlrMesAtuPrv + vPrevisto;
SET vVlrMesAtuRea = vVlrMesAtuRea + vRealizado;
INSERT INTO zzResultado VALUES (vOrdem, vGrupo, vSubGrupo, vPessoa, vAno, vMes, vPrevisto, vVlrMesAtuPrv);
END IF;
IF vOrdem = 4 THEN
SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv;
SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea;
INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea);
SET vVlrMesAtuPrv = 0;
SET vVlrMesAtuPrv = 0;
END IF;
END LOOP read_loop;
CLOSE cDados;
END;
$$ DELIMITER;
Quando co cursor entra nesta condiçao abaixo ele deveria pegar o valor acumulado anterior e acrescentar as variaveis (vVlrMesAntPrv, vVlrMesAntRea). So que o valor se perde e fica tudo zerado.
Alguém pode me dizer onde estou errando.
Anexo tem um print do resultado que pretendo ter
IF vOrdem = 4 THEN
SET vVlrMesAntPrv = vVlrMesAntPrv + vVlrMesAtuPrv;
SET vVlrMesAntRea = vVlrMesAntRea + vVlrMesAtuRea;
INSERT INTO zzResultado VALUES (99, vGrupo, 'PONTO DE EQUILIBRIO', vPessoa, vAno, vMes, vVlrMesAntPrv, vVlrMesAntRea);
SET vVlrMesAtuPrv = 0;
SET vVlrMesAtuPrv = 0;
END IF;
-
Por Jhol Walker
Meus cursores estão duplicando quando seleciono alguma ferramenta de brush, por exemplo.
Também quando seleciono os mesmos, o brush fica todo zoado, fica de qualquer forma, menos circulo kkkk
Se alguém souber o que é e puder me ajudar ficarei grato!
-
Por Gustavo_RJ
Bom dia, estou com uma dúvida que creio ser até simples mas não estou conseguindo a solução
Estou rodando uma query em uma view que na maioria dos casos não resulta mesmo resultado e, eventualmente traz alguma coisa, são 4 colunas... mas preciso que quando a query não retorne nenhum resultado seja apresentada alguma mensagem, algo como "não foi encontrado nenhum registro"
Eu imaginei cursor mas sinceramente só usei uma vez e tem tempo não sei se se aplica ou se teria outra maneira.
Como posso fazer isso?
-
Por Alexandre Garcia
Olá,
Estou tentando fazer uma rotina que receba um nome qualquer e "descubra" se se trata de tabela, índice ou constraint. Assuma que somente nomes existentes serão fornecidos. A rotina deve informar o nome do objeto e seu tipo descoberto. Se for uma tabela, também deve mostrar quantas linhas possui.
Estou com a seguinte dificuldade. Não estou conseguindo mostrar quantas linhas a tabela possui.
CREATE OR REPLACE PROCEDURE Verifica (busca VARCHAR2)
IS
cursor c_busca(busca in VARCHAR2)
IS
SELECT object_name, object_type
FROM all_objects
WHERE object_name LIKE busca||'%';
v_temp_var1 all_objects.object_name%TYPE;
v_temp_var2 all_objects.object_type%TYPE;
in_table_count number;
sql_stmt varchar2(300);
BEGIN
OPEN c_busca(busca);
LOOP
FETCH c_busca INTO v_temp_var1, v_temp_var2;
EXIT WHEN c_busca%NOTFOUND;
IF v_temp_var2 LIKE 'TABLE' THEN
dbms_output.put_line(v_temp_var1 ||' eh** uma:' || v_temp_var2);
sql_stmt := 'select count(*) from '|| v_temp_var1;
execute immediate sql_stmt into in_table_count;
dbms_output.put_line(sql_stmt);
ELSE
dbms_output.put_line(v_temp_var1 ||' eh** uma:' || v_temp_var1);
end if;
END LOOP;
CLOSE c_busca;
END ;
-
Por s3c0
Prezados,
boa noite. Procurei na Internet toda e já tentei de tudo.
Estou tentando alterar o cursor do mouse após marcar um checkbox, mas sempre está retornando erro.
Segue code:
<script> $(document).ready(function(e) { $("#agree").click(function(e) { if($(this).is(':checked')) //Retornar true ou false document.getElementById("sendcadastro").disabled = !this.checked; document.getElementById("sendcadastro").style.cursor = "normal"; else document.getElementById("sendcadastro").disabled = !this.checked; document.getElementById("sendcadastro").style.cursor = "no-drop"; }); }); </script> <input type="checkbox" name="agree" id="agree" value="1" /> <button type="submit" class="button" name="sendcadastro" id="sendcadastro" disabled >
Minha intenção seria:
Se o visitante não clicar no checkbox confirmando sua leitura, ao passar o mouse no Botão fique com o Cursor "no-drop" e quando clicar no checkbox o cursor volte ao normal.
A mensagem de Erro gerada é "Uncaught SyntaxError: Unexpected token else"
Alguém poderia me dar uma luz onde estou errando?
Agradeço a atenção de Todos!
-