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. Denis Courcy

    Mysql

    Que modificações você fez?
  2. Bom dia pessoal, O banco de dados que utilizo é essencialmente para consultas. Por default o MSSQL é configurado para LOCK automático e isto diminui a performance do banco. Gostaria de saber como configurar meu banco para que todos os selects sejam NOLOCK por default, pois na forma atual tenho que colocar NOLOCK em cada um do selects para que a performance seja aumentada.
  3. Por qual ID você está tentando ordenar? O MySQl não está entendendo o que você quer. Você definiu E.ID, M.ID, C.ID e B.ID e mandou ordenar por ID.
  4. Denis Courcy

    (Resolvido) Procedure

    Oi, 'simei' ! Para fazer do jeito que você quer você terá que retirar a passagem de parâmetro de sua procedure. CREATE PROCEDURE PROC_NewId() BEGIN INSERT INTO generator VALUES (NULL); SELECT last_insert_id() as Id; END; A chamada a esta procedure será sem os parênteses.
  5. Oi Diego, Por padrão, se você definiu que deseja que o banco faça a integridade referencial para você, então as tabelas-pai devem estar preenchidas antes das tabelas-filho. O que você quer é burlar o controle de integridade referencial. Neste caso, aconselho que você retire todas as "reference keys" (constraints) e passe a fazer a integridade referencial por programação. Ou seja, não haverá controle por parte do banco. Só por programa. Haverá o risco de haver filho sem pai.
  6. Oi Erik, Veja se este link te ajuda:http://www.drsolutions.com.br/exemplos/regesxp_mysql.pdf Outra solução é usar dois triggers (um before insert e outro before update) para que, através da função replace, você possa corrigir o banco). Outra solução é ajustar o collation do banco e realizar uma correção em todas as tabelas.
  7. Uma outra solução é usar o UNION: Select titulo, texto, autor from tabela1 UNION ALL Select titulo, texto, autor from tabela2
  8. Denis Courcy

    Auxílio URGENTE.

    Para atribuir valores a uma variavel dentro de uma procedure faça assim: SET variavel = valor; Se entendi direito suas tabelas então um simples select resolve seu problema. SELECT identificadordocliente, c.saldo, e.saldo, IF(c.saldo = e.saldo,'IGUAL','DIFERENTE') AS Resultado FROM cliente c INNER JOIN extrato e ON c.identificadordocliente = e.identificadordocliente Como você não especificou o identificador das tabelas cliente e extrato assumi um atributo "identificadordocliente" que liga as duas tabelas. Mais informações só vendo a estrutura das tabelas.
  9. Para alterar o dia de vencimento de 10 para 12 em todos os registros que possuam o dia 10, faça assim: UPDATE lancamento SET vencimento = STR_TO_DATE(CONCAT(YEAR(vencimento),'-',MONTH(vencimento),'-','12'), '%Y-%m-%d') WHERE DAY(vencimento) = 10 O mesmo pode ser feito para mes e para ano
  10. Não importa quantas máquinas estejam na rede. Ele criará uma thread nova para cada conexão. Mesmo que todas as conexões sejam de um mesmo usuário ou venham de uma mesma máquina.
  11. Não conheço PHP, mas para acessar o banco em outra máquina basta fornecer o nome da maquina ouseu endereço ip.
  12. Faça assim: DELIMITER $$; DROP TRIGGER `meubancodedados`.`nomedotrigger`$$ CREATE TRIGGER `meubancodedados`.`nomedotrigger` BEFORE INSERT on `meubancodedados`.`minhatabela` FOR EACH ROW BEGIN SET NEW.MD5SUM = MD5(NEW.IMAGEM); END$$ DELIMITER;$$
  13. Oi André, Seu objetivo é atualizar automaticamente o campo MD5SUM a cada nova imagem cadastrada?
  14. Faça assim: SELECT coluna, COUNT(coluna) FROM tabela GROUP BY coluna HAVING COUNT(coluna) > 1;
  15. Oi Gustavo, Você mesmo deu a resposta e ela obrigatoriamente passa por um INNER JOIN. Você disse que precisa de um modelo que possua uma especificação. Então, em sua cláusula where você precisa fornecer o modelo e a especificação.
  16. Use a ferramenta de integration service do SQL Server.
  17. Agora que o problema de consulta sql foi resolvido, vou transferir o tópico novamente para a área de PHP para que eles possam te ajudar. Movendo MySQL -->> PHP
  18. Oi 'GirLPOD', Nós resolvemos referencia cruzada usando algoritimos de Pivot Table. Procure aqui no foum os tópicos que comentamos sobre este assunto. Havendo mais duvidas continue postando aqui.
  19. Denis Courcy

    My SQL

    Oi 'wellington php', O MySQL não está reconhecendo a existencia da coluna id_empresa na tabela ebb_produtos. Verifique se o nome da coluna é este mesmo.
  20. Oi 'Figueiredo.web', Faça assim: SELECT s.setor, a.area, l.nome FROM lista l INNER JOIN area a ON a.area_id = l.area_id INNER JOIN setor s ON s.setor_id = l.setor_id; Para arrumar do jeito que você exibiu no primeiro post use sua linguagem de programação.
  21. Oi, 'leandryn'! O campo timestamp é do tipo data hora e não deve ter tamanho. Faça assim: CREATE TABLE `publicidade_adclicks` ( `bannerid` mediumint( 9 ) NOT NULL default '0', `zoneid` mediumint( 9 ) NOT NULL default '0', `t_stamp` timestamp NOT NULL default '0000-00-00 00:00:00', `host` varchar( 250 ) NOT NULL default '', `source` varchar( 50 ) NOT NULL default '', `country` char( 2 ) NOT NULL default '', KEY `bannerid_date` ( `bannerid` , `t_stamp` ) , KEY `date` ( `t_stamp` ) , KEY `zoneid` ( `zoneid` ) ) ENGINE = MYISAM;
  22. Oi 'leandryn', Retire a clásula AUTO_INCREMENT escrita após a declaração de tipo de tabela que você está criando. Assim: CREATE TABLE `admin` ( `id` int(4) NOT NULL auto_increment, `nome` char(60) NOT NULL default '', `login` char(30) NOT NULL default '', `senha` char(30) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM; Faça isto para cada declaração de create table que possua esta cláusula. Se você está usando a verão 5.x do MySQL aproveite para substituir a cláusula TYPE = MyISAM por ENGINE MyISAM. Pois a cláusula TYPE não é mais utilizada
  23. Faça assim:SELECT f.id as Fornecedor_id, f.nome as Fornecedor_nome, f.razaosocial as Fornecedor_razao, pl.id_lista as Lista FROM produtos_lista pl INNER JOIN (produtos p INNER JOIN fornecedores f on p.fornecedor=f.id) on pl.id_produto = p.id WHERE pl.id_lista IN (SELECT id_lista FROM produtos_lista WHERE data_fim > CURRENT_DATE)
  24. Denis Courcy

    Lista de artilheiros

    Oi AllNet, Esta forma está correta, mas eu prefiro usar a sintaxe padrão com inner join, por ser mais didática e mais fácil de reconhecer cada elemento na consulta. Usando inner join você saberá, de forma mais clara, qual tabela está relacionando e qual a condição de relacionamento, pois ela fica separada da cláusula where que deverá conter somente os filtros que se deseja aplicar. Reescrevendo seu código teremos:SELECT sum(ao.qtd_gol), ao.jogador_gol, ap.nome FROM gols ao INNER JOIN jogadores ap ON ap.id = ao.jogador_gol GROUP BY ao.jogador_gol
  25. Desculpe, esqueci de adicionar o GROUP BY: Tenta de novo: SELECT HOUR(datatipotimestamp) HORA, COUNT(HOUR(datatipotimestamp)) AS QT_HORA FROM minhatabela GROUP BY HORA
×
×
  • Criar Novo...