Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. 'edersonnves' Tenta agora: DELIMITER $$; DROP PROCEDURE `inserir_rl_ag_inf_bol`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `inserir_rl_ag_inf_bol`(fk_id_ag_inf INTEGER, fk_n_bop BIGINT) BEGIN INSERT INTO `rl_ag_inf_bol_oc` (id_ag_inf, n_bop) VALUES (fk_id_ag_inf, fk_n_bop); END$$ DELIMITER;$$
  2. Oi, 'Ricardo Constantino' Já respondi esta pergunta antes SELECT * FROM tb_cliente WHERE id_cliente NOT IN (select distinct id_cliente from tb_vendas)
  3. 'edersonnves' Tenta assim: DELIMITER $$; DROP PROCEDURE `inserir_rl_ag_inf_bol`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `inserir_rl_ag_inf_bol`( IN fk_id_ag_inf INTEGER(11), IN fk_n_bop BIGINT) BEGIN INSERT INTO `rl_ag_inf_bol_oc` (id_ag_inf, n_bop) VALUES (fk_id_ag_inf, fk_n_bop); END$$ DELIMITER;$$
  4. Oi, 'edersonnves' Este tipo de pergunta já foi respondido. leia este tópico:Erro numa simples Trigger
  5. Denis Courcy

    NOT EXISTS

    Oi, 'CurtisCraig' Você precisa ter um campo comum nas tabelas para que dê certo. É necessário correlacionar estes campos com o resultado procurado nas tabelas. Substitua EXISTS por IN. Exemplo Delete from subscribers where soft_bounces > 2 AND subscribers.idEmail NOT IN (SELECT distinct idEmail FROM stats) AND subscribers.idEmail NOT IN (SELECT distinct idEmail FROM openRate)
  6. Oi, 'acdestefani' Faça assim: 1 - Crie um campo provisório para receber esta informação e evitar problemas em seus dados atuais 2 - Dê um update em sua tabela do campo cpf_original para o novo campo cpf (cpf_novo) UPDATE tabela SET cpf_novo = trim(replace(replace(cpf_original, ".", ""), "-", "")) 3 - Confira. Se tudo estiver correto apague o campo antigo e renomeie o campo novo.
  7. Oi, 'marlonCampos' Qual o CHARACTER SET da tabela? Que comando você está usando para importar os dados?
  8. Oi, 'Anderson Faro' A sintaxe é clara. São dois triggers. Um para Update e outro para Delete.
  9. Oi, 'carlos12' Modifique seu select SELECT timediff(a.hora, finalizado_as)-30 AS hora2 FROM agendamento para esteSELECT subtime(timediff(a.hora, finalizado_as), "00:30:00" AS hora2 FROM agendamento
  10. Movendo MySQl -->> PHP
  11. Oi, 'unisov' ! Dê uma olhada nestas funções do manual do MySQL. A combinação delas poderá ser a solução que você procura. 6.3.2. Funções String
  12. Oi, Anderson! Em virtude da variação de quantidade de parcelas, que será, também uma variação na quantidade de colunas, é muito mais fácil gerar este tipo de relatório via programação. Em SQL há uma forma de fazer com colunas fixas. É um método para pivoteamento, mas não se aplica ao seu caso.
  13. Você já leu este post? Ferramentas de Conversão para MySql
  14. Pode dar um exemplo do que você quer?
  15. Oi, 'Rodrigo 3R' Não consegui determinar a quantidade de visualizações de uma noticia, mas o resto está aqui: select n.id_noticia, (select count(c.fk_noticia) from cliques_noticias c where c.fk_noticia = n.id_noticia) as cliques, (select count(i.fk_noticia) from impressoes_noticias i where i.fk_noticia = n.id_noticia) as noticias from noticias n;
  16. Oi, 'Sidinelson10' Para a criação de uma STORAGE PROCEDURE, STORAGE FUNCTION ou TRIGGER é necessário trocar o caracter de término de linha (ponto e vírgula) por outro. Pois o (ponto e vírgula) é utilizado dentro do TRIGGER, SP ou SF para sinalizar o término de linha dos comandos dentro da TRIGGER, SP ou SF. Assim, seu código ficaria tal como o abaixo: DELIMITER $$; DROP TRIGGER `qualyfit1`.`trigger_atualizardados`$$ CREATE TRIGGER `qualyfit1`.`trigger_atualizardados` AFTER INSERT ON `qualyfit1`.`BLM` for each row BEGIN IF NEW.blmtipo = "I" THEN INSERT INTO BLX SET blxoperacao ="I"; END; END; $$ DELIMITER;$$ Nota: Apesar de você ter usado uma instrução insert permitida pelo MySQL, sugiro veementemente que você opte pela sitaxe exibida pelo 'marlonCampos'. Ela é mais correta e mais difundida.
  17. Oi, 'Leonardo Viana' Vamos dividir seu problemas para melhor didática. A primeira dica se refere ao trecho do texto onde é pedido que apresente o nome completo dos empregados Você fez select first_name, last_name from employees o que está correto. Mas se fizer assim: select CONCAT(first_name, " ", last_name) AS NOME_COMPLETO from employees ficará melhor. Segunda dica. Foi pedido empregados que têm “Sales” no cargo, mas você procurou “Sales” no nome e sobrenome. "Sales" é "vendedor" em ingles. A descrição deste está no campo job_title da tabela JOBS. Para obter esta informação você deverá procurar por SELECT job_id FROM JOBS WHERE job_name = "Sales" O último ponto pedido são os empregados que que recebem comissão (commission_pct de Employees). Este você respondeu corretamente. O seu professor pediu que fossem utilizadas subconsultas. Então, juntando tudo, temos:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees WHERE job_id IN (SELECT job_id FROM JOBS WHERE job_name = "Sales") AND commission_pct IS NOT NULL; Uma nota: A forma correta para esta consulta seria:SELECT CONCAT(first_name, " ", last_name) AS NOME_COMPLETO FROM employees e INNER JOIN JOBS j ON j.job_id = e.job_id WHERE j.job_name = "Sales" AND e.commission_pct IS NOT NULL;
  18. Oi, imgcom, Eu tenho um sistema semelhante em um cliente. Ele controla o nivel de acesso ao sistema dele. Dividido em até 4 subníveis com cada um variando de 0 a 999, funciona assim: O seu capítulo 1 fica assim 001000000000000 O 1.1 = 001001000000 O 1.1.1 = 001001001000 O 1.1.1.1 = 001001001001 Este é o último nível. Como todos são precedidos de zero, não há problema de ordenação.
  19. Oi, 'padcoe' Sim, existe. Mas vai dar um trabalho danado. É mais fácil fazer a select normal e colocar os dados do jeito que você quer via programação.
  20. Se você está usando a versão 5.x ô mysql cria dois bancos para controle dele. o banco information_schema que controla os bancos, tabelas, atributos e triggers que você cria e o banco mysql que controla os usuários, as storage procedures, as storages funciont e os direitos de acesso. O chkdsk é para verificar o estado de seu HD. este pode ter sofrido um crash e pode ter perdido o acesso a pasta. Use-o somente depois de constatar que o nome do banco existe dentro da tabela schemata do banco information_schema.
  21. Verifique se existe uma pasta com o nome do banco dentro da pasta "data" no MySQL. Se existir, passe o chkdsk ou equivalente. Abra o banco information_schema e verifique se na tabela schemata seu banco está cadastrado.
  22. Terá que copiar todas as pastas. E corre o risco de não funcionar. A dica acima funcionava bem para engine MyISAM até a versão 4.1 Na versão 5.x foram intoduzidas várias modificações o que resulta num baixo índice de sucesso para este tipo de ação.
  23. Oi, ['sumocoski' Você deverá instalar a versão 5.1 ou mais atual do MySQL, ativar a opção de schedulle (As versões anteriores não possuem esta opção), criar uma storage procedure que faça o que você quer e ativá-la para que seja executada no schedulle.
  24. Oi,'Tchello' O método mais fácil é criar uma estrutura temporária com (CREATE TEMPORARY TABLE nomedatabela), depois importar os dados com LOAD DATA INFILE (já explicado no post anterior) e depois fazer um insert em sua tabela permanente com select na tabela temporária separando os campos/registros que você realmente quer.
  25. Oi, 'Bam Oriordan' Verifique se o serviço do MySQL está ativo. Se não estiver restaure o arquivo my.cnf ou my.ini ao anterior e restar o banco. (algum parâmetro foi mexido ou perdido). Se ainda assim, não conseguir, reinstale o banco (Se no windows, desinstale o banco, remova o serviço e reinstale o banco).
×
×
  • Criar Novo...