-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
criar e alterar stored procedure pelo Command Line
pergunta respondeu ao Porter de Denis Courcy em MySQL
O processo de alterar é um drop seguido de um create procedure. -
Faça assim: DELIMITER $$ DROP PROCEDURE IF EXISTS seleccli $$ CREATE PROCEDURE seleccli (instrucao VARCHAR(100)) main: BEGIN SET @m_sqltext = instrucao; PREPARE m_stmt FROM @m_sqltext; EXECUTE m_stmt; END $$ DELIMITER ;
-
Em SQRT( POW(69.1 * (latitude - ), 2) + POW(69.1 * ( - longitude) * COS(latitude / 57.3), 2))Onde está (latitude - ) não deveria ser (-latitude)?
-
Onde está INNER JOIN `req_material_tempo` ON (`sala_ocupacao`.`id_tempo` = req_material_tempo.`idtempo`)escrevaLEFT JOIN `req_material_tempo` ON (`sala_ocupacao`.`id_tempo` = req_material_tempo.`idtempo`)
-
Supondo que os nomes dos campos para a tupla (1 joao) seja id e nome. Então, a consulta seria assim: SELECT nome, MAX(id) FROM minhatabela GROUP BY nome
-
Com o sql SELECT `data`, COUNT(data) FROM empresa.clientes GROUP BY `data` Você obterá a quantidade de eventos em uma data para o banco e tabela desejados. Quanto a como colocar isso na linguagem de programação que você usa, informo que não faz parte do escopo deste fórum.
-
Oi Tchello. A lentidão de sua consulta está aqui: YEAR(a.datacad) = YEAR(CURDATE())Todas as vezes que usar uma função para comparar com outra função ou com uma constante, a consulta se degradará epassará a ser TABLE SCAN (uma varredura completa). Ou seja, perderá o uso precioso dos índices.Isto ocorre porque para cada registro a função YEAR(a.datacad) deverá ser executada para a comparação do ano. YEAR(CURDATE()) é uma constante pois será executada uma única vez pelo motor do MySQL. Se esta consulta for realizada com muita frequência, a solução será criar um campo ANO para abrigar YEAR(a.datacad) e criar um índice por este campo ano. O MySQL ainda não permite a criação de índices por YEAR(a.datacad).
-
Este erro está na forma como você passa as variáveis/parâpetros no PHP. O pessoal de PHP poderá te ajudar nisso. Movendo de MySQL para PHP
-
Crie um usuário root@% e dê as permissões de acesso a ele.
-
Em lugar nenhum. Não está rodando o MySQL. Ele está desligado. O auto_increment é uma variável que fica armazenada no seu banco de dados. Mais especificamente, na estrutura de sua tabela.(A)Quando o comando for DELETE FROM minhatabelaTodos os registros serão apagados e o valor de auto_increment será último número inserido + 1. Ou seja, ele continuará armazenado na estrutura da tabela. No seu caso o último número inserido foi o 3. 3+1 4. Este serão próximo número a ser inserido quando a tabela sofrer um insert.(B)Por outro lado, quando o comando for TRUNCATE TABLE minhatabelaTodos os registros serão apagados e o valor de auto_increment será 0+1. O próximo registro a sofre um insert receberá o número 1. Se entendi esta pergunta, então ela se refere a resposta (A) do questionamento acima.A solução para reinicializar o numero do auto_increment é ALTER TABLE minhatabela AUTO_INCREMET = 0.
-
Ajuda com performance de querie (com data)
pergunta respondeu ao ricardo.bezerra de Denis Courcy em MySQL
Crie um índice por data inclusão na tabela dec_relatorio. -
(Resolvido) Ajuda com Trigger e Schedule
pergunta respondeu ao ricardo.bezerra de Denis Courcy em MySQL
Seria assim: Crie a procedure para executar o que desejas. Crie um trigger para acionar a procedure. Crie um event para executar a procedure de tempos em tempos. /* Código da Procedure */ DELIMITER $$; DROP PROCEDURE IF EXISTS `nomedobancodedados`.`sp_parametros`$$ CREATE PROCEDURE `sp_parametros`() BEGIN INSERT INTO test.BACKOFFICE (tipo_backoffice) SELECT tipo_teste FROM test.Teste WHERE tipo_teste = 'BACKOFFICE'; INSERT INTO test.Monitoramento (tipo_monitoramento) SELECT tipo_teste FROM test.Teste WHERE tipo_teste IN('SCPC_END_DATE','SCPC_INIT_DATE','RENDA_END_DATE','RENDA_INIT_DATE','SCORE_END_DATE','SCORE_INIT_DATE','CHEQUE_END_DATE','CHEQUE_INIT_DATE','INIT_DATE', 'END_DATE'); INSERT INTO test.PDV (tipo_pdv) SELECT tipo_teste FROM test.Teste WHERE tipo_teste IN('CAIXA','OPERADOR','RESULTADO'); END$$ DELIMITER ;$$ /* Código do Trigger */ DELIMITER $$; DROP PROCEDURE IF EXISTS `nomedobancodedados`.`trig_parametros`$$ CREATE TRIGGER trig_parametros AFTER INSERT ON nomedatabela FOR EACH ROW BEGIN CALL sp_parametros; END; DELIMITER ;$$ /*Codigo do event*/ DELIMITER $$; CREATE EVENT Tipos_Plataforma ON SCHEDULE AT EVERY 2 HOUR DO CALL sp_parametros; DELIMITER ;$$ Não esqueça de Ligar o Event SchedulerSET GLOBAL event_scheduler = ON; -
(Resolvido) Consultar em campo string com dia/mes
pergunta respondeu ao jbosco de Denis Courcy em MySQL
SELECT * FROM minhatabela WHERE SUBSTRING(campo,3,2) = "03" -
(Resolvido) Ajuda com Trigger e Schedule
pergunta respondeu ao ricardo.bezerra de Denis Courcy em MySQL
Em CREATE TRIGGER Parametros AFTER INSERT ON {AQUI VAI O QUE??????}Coloque o nome da tabela que executará o trigger a cada atualização dela (No seu caso após cada inserção de registro nela) Em CREATE EVENT Tipos_Plataforma ON SCHEDULE AT EVERY 2 HOUR DO Parametros;Não vai funcionar.O event está tentando disparar uma trigger quando deveria estar tentando disparar uma função ou uma procedure. Triggers só são disparadas por tabelas e quando estas sofrem as atualizações para qual foram programadas. -
(Resolvido) Consultar em campo string com dia/mes
pergunta respondeu ao jbosco de Denis Courcy em MySQL
SELECT SUBSTRING(variável, 3,2) -
SELECT REPLACE(REPLACE(REPLACE(variável, "(", ""), ")", ""), "-", "") Leia o manual do MySQL de sua versão para saber mais sobre esta e muitas outras funções.
-
Erro 1064 ao importar txt para o banco (MYSQLIMPORT)
pergunta respondeu ao JohnatanFS de Denis Courcy em MySQL
Oi, JohnatanFS, A sintaxe do comando diz: Sua instrução diz: "sicaa" é o nome do banco ou a password? Você tem direitos de leitura e gravação em ??- 1 resposta
-
- mysqlimport
- erro
- (e %d mais)
-
Testei com a versão 5.1.24 (a que eu uso normalmente)e não tive problemas. Vou montar um ambiente (virtual) de teste para avaliar melhor. Qual exatamente é a versão do MySQL que você usa?
-
Declare `date` timestamp NOT NULL, em vez de `date` timestamp(14) NOT NULL, Evite usar o termo `date` ou `data` para nomes de atributos. Estas são palavras reservados do MySQL e podem te dar problemas mais a frente.
-
Movendo para a área de PHP
-
Provavelmente o parâmetro que você está passando em ParamByName('data_inicial').value := data inicial.Text; ParamByName ('data final ').value := data final.Text; está no formato dd/mm/aaaa. O Mysql usa aaaa-mm-dd. A solução pode ser de duas formas: Ou você cria uma função para inverter a string de sua data, Ou você usa a ParamByName('data_inicial').value := StrToDate(data_inicial.Text); ParamByName ('data_final').value := StrToDate(data_final.Text); A segunda opção sempre deu problemas quando eu usava BDE como componente para acesso ao banco. Cuidado com o espaço no parâmetro 'data final '. Será melhor usar 'data final'
-
Ok. Então seu problema está neste trecho de código Faça assim para melhorar: 1 - Verifique se existe índice para o atributo e.dataRemessa na tabela encomenda. Se não existir, crie. 2 - Modifique este trcho de código para SELECT DISCTINCT e.id_filial_destino FROM encomenda e WHERE e.dataRemessa BETWEEN '2014-10-01 00:00:00' AND '2014-10-31 23:59:59'
-
Não há necessidade disso a não ser estética. Qual objetivo?
-
Como importar uma tabela MYSQL de outro servidor ?
pergunta respondeu ao Danilo86 de Denis Courcy em MySQL
Use mysqldump. Veja o manual de sua versão, sobre as instruções de como usá-lo. -
(Resolvido) Problemas na performance utilizando triggers / storeprocedures.
pergunta respondeu ao byquico de Denis Courcy em MySQL
Agora que você falou de linux, verifique este tópico: https://www.scriptbrasil.com.br/forum/topic/178477-demora-em-comitar-dados-servidor-linux-mysql-demorando-atualizar/