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. Oi, '--Patrícia --', Você falou Informe, por favor quando é pagante e quando não é pagante para que possamos pensar em uma saída lógica para este problema.
  2. Oi, '--Patrícia --' A forma que você passou é boa para quem usa linux. veja a resposta que dei e consulte o manual do MySQl para confirmar o que estou falando.
  3. Oi, 'Scripter' Se você tivesse procurado antes de perguntar já teria encontrado a resposta, pois já respondi isto algumas vezes. Veja o link Backup Em Mysql?
  4. Oi, Além do erro reportado pela 'mili' há um outro -> data atual TIMESTAMP(8), -> );é a vígula após o timestamp. A última instrução SQL em um create table não pode ter virgula, pois o motor do MySQL esperará uma outra instrução e como não tem, dá erro.
  5. Denis Courcy

    Relaçao de colunas

    Oi, 'c4m1l0' , Em primeiro lugar, você não deveria perder tempo armazenando valore totalizadores. Estes tomam tempo e espaço no banco. Em segundo lugar, a solução de seu problema, se você deseja manter uma coluna de total em sua tabela, passa pela criação de uma trigger de atualização (UPDATE). Cuja criação seria mais ou manos assim: DELIMITER $$; DROP TRIGGER `test`.`Totaliza`$$ CREATE TRIGGER `test`.`totaliza` BEFORE UPDATE on `test`.`teste` FOR EACH ROW BEGIN SET NEW.TOTAL = NEW.valor * NEW.quant; END$$ DELIMITER;$$ No exemplo acima eu usei o banco test do próprio mysql e criei uma tabela chammada teste. O operador NEW informa que estou trabalhando com os valores que ainda serão gravados. O uso de BEFORE UPDATE é ppara que os dados sejam atualizados simultaneamente na tabela. Assim qualquer alteração em valor ou quant, imediatamente será afetada a coluna total.
  6. Oi, 'Scripter' Se você não usar o % o MySQL vai equiparar a cláusula LIKE como um sinal de igual. Ou seja, se um campo tem como conteúdo "ANTONIO CARLOS REIS", o uso de SELECT * FROM tabela where campo LIKE "ANTONIO CARLOS REIS" é equivalente a SELECT * FROM tabela where campo = "ANTONIO CARLOS REIS" Para a cláusula LIKE o % representa um "curinga", ou seja um substitudo de caracteres a partir da posição em que aparece. Assim, se uso o select SELECT * FROM tabela where campo LIKE "ANTONIO%" A resposta será o retorno de todas as linhas que começam pela palavra "ANTONIO" (não importando o que tem depois) Se desejo encontrar um valor em qualquer parte do campo eu uso o % no ínício e no fim pesquisa. Exemplo SELECT * FROM tabela where campo LIKE "%CARLOS%" Retornará todos os registros que contenham "CARLOS" em qualquer parte deste campo (início, meio ou fim) Se sedejo encontrar somente a última palavra em um campo então eu uso o % no início da pesquisa. Exemplo SELECT * FROM tabela where campo LIKE "%REIS"
  7. Denis Courcy

    Privilegios MySQL

    Oi, 'LeandroJr' Se você ainda tem o acesso de admin, então é só digitar: GRANT ALL PRIVILEGES TO root@localhost; FLUSH PRIVILEGES; Se não tem leia este tópico: Descobrir senha de banco mysql
  8. Complementando, Construi a storage funcion abaixo que funcionará se a versão de seu MySQl for 5.0.22 ou mais atual. DELIMITER $$; DROP FUNCTION IF EXISTS `test`.`Formata_numero`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `Formata_numero` (valor double, decimais tinyint) RETURNS char(20) BEGIN return replace(replace(replace(format(valor,2),'.','v'),',','.'),'v',','); END$$ DELIMITER;$$ Para usá-la veja o exemplo abaixo:select Formata_numero(valor,2) from teste
  9. A função já existe (ver capítulo 6 manual mysql versão 4.1 em portugues) deve ser usada somente quando você fizer as consultas (selects). Para guardar a informação utilize somente o ponto para demonstrar as casas decimais.
  10. Oi, 'Marco Canhoto' , Você está confundindo a forma numérica que reside no banco de dados com a forma que é apresentada ao usuário final. O jeiro que você quer não é uma representação numérica. É uma string a ser representada como char ou varchar. Outro ponto é que para o MySQL o ponto é casa decimal e a vírgula é separador de milhar. Oi, 'Marco Canhoto' continuando Você pode usar a função format para obter o efeito desejado.
  11. Oi,--borges02 --' Infelizmente o MySQL ainda não está preparado para executarr o que você deseja. Logo, a solução é fazer uma trigger para cada tipo. Ou seja, uma para insert, outra para update e outra para delete.
  12. Oi 'thiagito', Em primeiro Lugar o título está errado. Seu problema não é com um trigger. É com uma storage procedure. Em segundo lugar, seu erro está aqui: UNTIL (ROW_COUNT() == 0) O correto é:UNTIL (ROW_COUNT() = 0) Estou alterando o título para corresponder a dúvida.
  13. Oi, 'Kindelis' Desculpe a demora na resposta, mas somente hoje tive uma folguinha para testar e escrever o tutorial em anexo. O exemplo foi testado em uma máquina windos2000 professional com mysql 5.0.37 Espero que o ajude. Recuperando_a_senha_do_root_Mysql_windows.doc
  14. Denis Courcy

    Replicação

    Oi, 'Progr'amador', Este tutorial é bem completo: step-by-step-how-to-setup-mysql-database-replication Se você ainda tiver dúvidas poste novamente.
  15. Oi, 'Vivendo&Aprendendo', Gostaria que você respondesse a mais 2 perguntas, por favor: 1 - Qual engine está sendo utilizado em suas tabelas Mysql? 2 - O servidor Mysq está em uma rede interna ou externa em relação ao sistema delphi que está sendo executado?
  16. Oi, 'Vivendo&Aprendendo'! Pode, por favor, passar as as informações abaixo: 1 - Configurações do servidor Memória RAM, Processador, Sistema Operacional, Se este servidor está dedicado ao MySQL ou está compartilhando outros sistemas, tipo tomcat, php, etc. Se estiver compartilhando outros sistemas, quais. 2 - Status das variáveis do MySQL. 3 - Conteúdo do arquivo My.ini( Se seu servidor MySQL for Windows) ou My.cnf (Se seu servidor MySQL for Linux/Unix) Para resolver o item 2 faça o seguinte: Envie-me o arquivo gerado. junto com as informações acima.
  17. Oi, 'Nicky' Sem a mensagem de erro não há como avaliar o porquê de ter caído a conexão. Como você usa Delphi, seria interessante você utilizar o componente TDatasetProvider. Com ele é possível gravar localmente os dados e transmiti-los depois. Dê uma fuçada no material do Delphi ou, se você quiser, posso transferir este tópico para a área de Delphi, onde o possoal poderá te ajudar no uso deste componente.
  18. Oi 'Altevir', Complementando o post que escrevi anteriormente, normalmente, para relacionamentos 1:N eu uso ON DELETE NO ACTION. A cláusula ON UPDATE vai depender do tipo de sistema que estiver modelando.
  19. Oi 'Altevir', Se você normalizar corretamente vai perceber que o relacionamento 1 : 1 somente ocorre quando há a figura de generalização/especialização. A característica básica deste tipo de relacionamento é que a chave primária da tabela que representa a generalização é, também a chave primária da tabela que faz a especialização. No relacionamento 1: N a chave primária da tabela mãe difere da chave primária da tabela filha. A chave primária da tabela mãe pode até fazer parte da chave primária da tabela filha, mas será somente mais um atributo nesta chave/Tabela. A forma de representar esta constraint no MySQL só difere (se é 1:1 ou 1:N) na forma como você representará as cláusulas ON DELETE e ON UPDATE. Em 1:1 é comum usar ON DELETE CASCADE ON UPDATE CASCADE. Em 1:N isto dependerá do modelo do projeto.
  20. Denis Courcy

    Duvida Mysql Package

    Oi, Junior, Se você esta referindo package como stored procedure então a resposta é sim. Para rodar de 6 em 6 horas, como você quer você necessita da versão 6.0 ou superior.
  21. Oi, 'jeff_guita' Esta pergunta já foi respondida no tópico Alterar formato de data (System Variables), Tem como?
  22. Oi 'pythondeveloper' O erro reportado indica que e o servidor não está entendendo qua a porta própria para a conexão. O link abaixo possui um passo-a-passo de como implementar o acesso remoto de forma segura. How Do I Enable Remote Access To MySQL Database Server?
  23. Oi,'Nicky' Existem vários fatores que podem derrubar uma conexão com o banco MySQL. O sistema exibiu alguma mensagem de erro? O MySQL controla o tempo de conexão do banco com a variável connect_timeout. Você pode Ajustar o valor desta variável para 0 (Zero) editando o arquivo My.ini (caso a versão do servidor MySQl esteja em uma máquina com windows) ou My.cnf (caso a versão esteja em uma máquina Linux/Unix). Com o valor Zero o MySQl deixará de esperar pelo pacote de dados. Se a versão do MySQL que você está usando é igual ou superior a 4.1.x. use [mysql] connect_timeout=2 Caso seja inferior use o código abaixo[mysql] set-variable = connect_timeout=0
  24. Oi, 'william_droops' Experimente usar uma segunda variável. Ela estará vazia quando você não precisar do filtro. Exemplo meusql = "SELECT * FROM minhatabela WHERE campo = 3 " & minhacondicao Se a variavel minhacondicao tiver o valor "" então a consulta é : "SELECT * FROM minhatabela WHERE campo = 3 " Se minha condicao tiver o valor " AND campo2 = 3 " então a sonsulta será: "SELECT * FROM minhatabela WHERE campo = 3 AND campo2 = 3 "
×
×
  • Criar Novo...