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 para vb.net

    Caixa de ferramentas
  2. Denis Courcy

    mysql para vb.net

    Sim. O console principal sim. mas você pode baixar o mysql workbench que é mis amigável
  3. Denis Courcy

    mysql para vb.net

    Baixe daqui http://dev.mysql.com/downloads/mysql/ conforme o SO que você usa.
  4. Denis Courcy

    mysql para vb.net

    O MySQL Community é free. Você pode baixá-lo atraves do link que eu disponibilizei no tópico caixa de ferramentas neste forum.
  5. Denis Courcy

    mysql para vb.net

    Pode trabalhar com ele tranquilamente. Fiz uns teste de conexão com vb.net e funcionaram muito bem. Eu usei o MyODBC e apontei a conexão para ele. Vou procurar os testes que fiz. Se achar posto aqui.
  6. Então eles devem ser passados como string "+" e "-" e não do jeito que você está fazendo.
  7. Oi 'lampiao_muléstia' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 0000002625284, +, 0000005829458, +, 0000000000000, +, 0000008454742, +, 0000002' at line 1 O que faz este sinal de + alí, entre vígulas?
  8. 'Evandro Choma', Verifique se sua procedure está assim: DELIMITER $$ USE `nome do banco`$$ DROP PROCEDURE IF EXISTS `nome da procedure`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `nome da procedure`(IN dtinicial DATE, IN dtfinal DATE) BEGIN todas as instruções aqui dentro terminam com; END$$ DELIMITER; Eu uso a versão 5.1Para a versão 5.0.37 use :DELIMITER $$; USE `nome do banco`$$ DROP PROCEDURE IF EXISTS `nome da procedure`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `nome da procedure`(IN param1 DATE, IN param2 DATE) BEGIN todas as instruções aqui dentro terminam com; END$$ DELIMITER $$;
  9. Já tive alguns erros deste tipo. Algumas verões do MySQL informa que a instrução delimiter deve ser como você descreveu. Outras versões, como a sua, você deverá usar deste jeito: -- Inicie com o comando abaixo DELIMITER $$; -- e encerre com o comando abaixo DELIMITER;$$
  10. Denis Courcy

    MyIsam ou InnoDB

    MyISAM é a solução. Vantagens; Velocidade, performance, facilidade de manutenção, possibilidade de criação de índices fulltext. Desvantagem O controle de integridade referencial ficará por sua conta (por conta de seu sistema)
  11. Mesma coisa nunca é. A cláusula INNER JOIN torna o código mais claro e coloca a igualdade fora da cláusula WHERE deixando a clausula WHERE para o que realmente ela deve fazer que é "filtrar dados da consulta"
  12. Faça assim, supondo que seu código esteja dentro de uma procedure: DECLARE meuID int unsigned; SET meuID = (SELECT ID FROM produtos WHERE Clientes_ID = var_iClienteID and CODIGOCLIENTE = var_sCodigoProduto ); IF meuID IS NULL THEN SET meuID = 0; END IF;
  13. Use LEFT JOIN. Assim: SELECT c.*, v.* FROM clientes AS c LEFT JOIN veiculos AS v ON c.id_veiculos = v.id_veiculos E em vez de escrever o código como você fez para obter o conjunto INTERCESSÃO entre veiculos e clientes, use INNER JOIN. É mais limpo e mais fácil de entender. SELECT c.*, v.* FROM clientes AS c INNER JOIN veiculos AS v ON c.id_veiculos = v.id_veiculos
  14. Preciso verivicar alguns pontos. Te respondo depois. Como pensei. Após ler o manual do MySQL constatei não haver meio de passar uma instrução SQl para a construção de um cursor em tempo de execução. Você pode criar instruções SQL em tempo de execução com o comando PREPARE, EXECUTE e DEALLOC mas este comando não pode gerar um cursor. Uma saída poder ser usar um nome de tabela padrão. DROP e RECRIE a tabela antes da execução da procedure. Assim a instução SQl a que seu cursor se refere não será afetada.
  15. Preciso verivicar alguns pontos. Te respondo depois. Na ultima replace puderia já utilizar o TRIM como no Delphi deixando assim? Você pode usar "'" para representar a aspas simples ou '"' para representar as aspas duplas. Para o MySQL ' ou " podem ser usados como delimitadores de string Você pode usar a função TRIM para retirar os espaços antes e depois. Abaixo alguns exemplos de como usá-la: mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx' mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar' mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx' O MySQl converte automaticamente string para numerico sem necessidade de uso de função. Então, SET fPosicaoEstoque = sPosicaoEstoque / 1000; é uma operação válida.
  16. Fala assim: Entre no mysql pela linha de comando. Clique em iniciar/executar digite cmd <enter> dentro da janela do prompt do sistema operacional vá para a pasta onde está seu arquivo .sql depois, na janela do prompt digite mysql -u root -p suasenhadoroot quando aparecer o prompt do mysql digite source nomedoseuarquivo.sql <enter> quando ele terminar saia do mysql digitando quit <enter> e para sair do prompt do sistema operacional digite exit <enter>
  17. Oi, 'LucianoR' creio que você pode continuar daqui: SELECT mp.idinsumo AS mat_prima, mp.descricao AS desc_mat_prima, xyz.cliente, xyz.qtprodutos FROM materia_prima mp INNER JOIN insumos ins ON ins.idinsumo = mp.idinsumo INNER JOIN ( SELECT abc.cliente, abc.idproduto, MAX(abc.qtdprodutos) AS qtprodutos FROM ( SELECT ped.cliente, prod.idproduto, COUNT(itped.idproduto) AS qtdprodutos FROM pedido ped INNER JOIN itens_do_pedido itped ON itped.numero_pedido = ped.numero_pedido INNER JOIN produto prod ON prod.idproduto = itped.idproduto GROUP BY ped.cliente, prod.idproduto ) abc GROUP BY abc.cliente, abc.idproduto ) xyz ON xyz.idproduto = ins.idproduto WHERE mp.idinsumo = 10
  18. Compare dadas (em forma de string, como é o seu caso por causa do uso da função) sempre na forma AAAA-MM-DD Como se fosse número dia equivale casa das unidades, mes equivale a casa das dezenas e ano equivale a casa das centenas. Leia o capítulo 6.3.4. Funções de Data e Hora do manual do MySQL para maiores informações sobre funções que trabalham com data e hora.
  19. Oi 'LucianoR' Isto está com cara de trabalho escolar. Mostre como você tentou fazer o exercício que te orientarei no prosseguimento dele. Não faremos o exercício pra você.
  20. Sim. a dica é que cada campo deve trabalhar com o tipo correto. Se é timestamp então use o tipo timestamp e não o tipo INT para armazenar o valor do campo. Por você usar o tipo errado sua consulta sempre vai pesquisar em TABLE SCAN (que é a varredura completa das duas tabelas) em vez de usar índicers que otimizariam muito a performance da consulta.
  21. Oi 'grego' Faça assim: SELECT ctr.*, cli.nome, a1.nome AS nomec, a2.nome AS nomev, lj.nomeloja FROM contrato ctr INNER JOIN cliente cli ON ctr.codigocliente = cli.codigocliente INNER JOIN acesso a1 ON ctr.crediario = a1.codioper INNER JOIN acesso a2 ON ctr.vendedor = a2.codioper INNER JOIN loja lj ON ctr.loja = lj.idloja Você precisa "apelidar" cada tabela com um apelido diferente para que o join possa entender o que você quer fazer.
  22. http://www.andersonrp.com/textes/imobiliarias/ http://www.andersonrp.com/textes/imobiliarias/cms/login.html Oi 'Anderson Goulart', Vi a mensagem de erro gerada. Não vejo que haja um erro do MySQL e sim um erro na forma como você escreveu seu código em PHP. Vou mover o tópico para a seção do fórum que trata de PHP para que você possa ter um apoio melhor já que não conheço da linguagem.
  23. Eu vejo de outra forma. Se o controle de transação e de integridade estão em meu programa (para ganho de performance em banco) uso MyISAM (A configuração e tunning dele é mais fácil) Se o controle de transação e de integridade são efetuados pelo banco, então uso InnoDB. Uso MEMORY em tabelas tempotrárias para que possam ser descarregadas no banco físico com mais facilidade e para que possam ser consultadas sem ter que acessar dados em disco. Ao dropar uma tabela temporária com engine MEMORY os dados são apagados e a área de memória alocada é liberada automaticamente.
  24. Oi 'Anderson Goulart' os links estão quebrados. Passe-os novamente.
  25. Denis Courcy

    distinct View

    Correto. Mostre a instrução CREATE VIEW que você usou para gerar a view.
×
×
  • Criar Novo...