-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Tenho trilhas de auditoria que usam timestamp. O atributo deve ser criado como TIMESTAMP NOT NULL e deve ser o primeiro timestamp not null da tabela os demais serão preenchidos com o valor "0000-00-00 00:00:00".
-
Os arquivos texto, por padrão, terminam com o caracter 0x26 (^Z (ctrl Z)). Esta é a marca de EOF para arquivos texto. Você pode eliminá-lo usando a função SUBSTRING (Veja no manual do MySQL como ele funciona).
-
Manual do Mysql versão 4.1 (tradução em português) capítulo 6 UPDATE tabela set campo = replace(campo, '@', '#')
-
Oi, Cadu! Para o primeiro erro, observe o que diz o manual do mysql (versão 4.1 traduzido para o português). Observe que não há end case. O end case é usado somente na sintaxe de case dentro do controle de fluxo (de programação) em stored procedures e funções. No segundo erro, você colocou {} como separador de blocos de controle, quando o correto é usar begin end. Finalizando o end com ‘;’ (ponto e vírgula).
-
A consulta básica é essa abaixo. Neste exemplo, os campos itentificadores (primary keys nas tabelas categoria e produtos) são terminados por ID. Para sair do jeito que você quer só através de programação. Mas a resposta aqui é aceitável e contém todas as informações que você precisa SELECT * FROM produto p INNER JOIN produto_categoria pc ON p.produtoID = pc.produtoID INNER JOIN categoria c ON pc.categoriaID = c.categoriaID
-
Oi, Pedro! Por favor me envie o SHOW STATUS e o SHOW VARIABLES do novo servidor
-
(Resolvido) Relatório Diário de Caixa Entrada/Saída
pergunta respondeu ao Tatiane.InterArt de Denis Courcy em Delphi, Kylix
Oi, Tatiane! Seu layout seria assim: Codigo, Descrição, DataVecto, DataPagto, Cx, Tipo, VL Entrada, VL Saída Crie duas Variáveis para totalização TTVLEntrada e TTVLSaida Leia o arquivo EntCaixa lançando os valores conforme as colunas e o campo valor na coluna correspondente a VL Entrada. Totalize TTVLEntrada com a soma dos valores desta leitura Depois, Deia o arquivo SaiCaixa, procedendo da mesma forma que o anterior e lançando o campo valor na coluna VL Saída. Totalize TTVLSaida com a soma dos valores desta leitura Subtraia TTVLEntrada - TTVLSaida. Este será seu valor de caixa para este dia. Lance este valor de caixa no fim de seu relatório. -
(Resolvido)Dois campos da tabela
pergunta respondeu ao João Paulo Taraciuk de Denis Courcy em Delphi, Kylix
Oi, João Paulo Taraciuk! Faça assim: SELECT id_contarecebidas AS "Código da Despesa", descricao AS "Descrição", valor AS "Valor", CONCAT(Nome," ",Tipo_fatura) AS "Histórico da Movimentação" FROM contas_recebidas -
Preciso De Um Banco De Dados No Access Para Uma Video Locadora
uma questão respondeu Denis Courcy em Delphi, Kylix
Na seção do MySQL disponibilizei um modelo de dados para video locadora. Pegem lá. -
(Resolvido) rave- trabalhar com dois datasets na mesma banda
pergunta respondeu ao etspaz de Denis Courcy em Delphi, Kylix
Oi, 'etspaz'! Você não precisa ter os dois datasets na mesma banda. Na banda de detalhe, antes de ela ser impressa ON BEFORE PRINT, execute a segunda query para a busca conforme a cláusula where que você deseja. O resultado você passa para um label do report. Fará esta chamada conforme o número de linha a serem executadas na primeira query (a que está ligada ao report). Entendeu? -
Problema com Tabela muito extensa
pergunta respondeu ao Alex Hollanda de Denis Courcy em Demais Bancos
Você Normalizou corretamente esta tabela? Se a resposta foi SIM, então este é um dos poucos casos em que se usa relacionamentos 1:1. Crie uma tabela que contenha a mesma chave primária e distribua nela os campos excedentes. Se ainda assim ficar grande Faça denovo. Controle a leitura com INNER JOIN Use constraints para que a alteração e a exclusão sejam propagadas e para que a(s) tabela(s) filhas não fiquem sem a principal. -
Query MySQL para capturar dados de várias tabelas
pergunta respondeu ao mateusmoraes de Denis Courcy em MySQL
Oi, Mateus! 1) Existe alguma tabela de usuário? 2) Na Tabela 3 - "Comentarios" - Não há campo data. Como determinar a última data? 3) para uma melhor compreensão use o campo TIMESTAMP em lugar o campo data. Ele guarda a data e a hora o que facilita na hora de buscar os últimos acessos de um determinado usuário Supondo que: Você tenha substituido os campos data das tabelas Links_enviados e Votos; Você tenha acrescentado um campo data_comentario (tipo timestamp) na tabela Comentarios; Não haja uma tabela usuários (que seria a chave de ligação entre todas estas tabelas; E que os atributos de identificadores dos usuarios das tabelas sejam do mesmo tipo; Então a solução seria o uso de uma tabela temporaria. estou assumindo que o tipo INTEGER UNSIGNED para identificadores dos usuarios das tabelas Passo 1 Criando a tabela temporaria CREATE TEMPORARY TABLE temp ( id_usuario INTEGER UNSIGNED NOT NULL, DataHoraAcesso TIMESTAMP, Acao VARCHAR(15), id_acao INTEGER UNSIGNED NOT NULL, OUTROS VARCHAR(15) )ENGINE=MEMORY; Passo 2 carregando dados INSERT INTO temp (SELECT id_usuario, DataHoraAcesso, Acao, id_acao, outros) SELECT id_quem_enviou, data_do_envio, "Links_enviados", id_link_enviado, "" FROM Links_enviados WHERE id_quem_enviou='".$pega_a_id_do_usuario."' ORDER BY data_do_envio DESC LIMIT 10 INSERT INTO temp (id_usuario, DataHoraAcesso, Acao, id_acao, outros) SELECT id_quem_votou, data_do_voto, "Votos", id_voto, id_link, tipo_voto FROM Votos WHERE id_quem_votou='".$pega_a_id_do_usuario."' ORDER BY data_do_envio DESC LIMIT 10 INSERT INTO temp (id_usuario, DataHoraAcesso, Acao, id_acao, outros) SELECT id_quem_comentou, data_comentario, Comentarios", id_comentario, id_link FROM Comentarios WHERE id_quem_comentou='".$pega_a_id_do_usuario."' ORDER BY data_do_envio DESC LIMIT 10 Passo 3 - A consulta SELECT * FROM temp ORDER BY DataHoraAcesso DESC LIMIT 10 Passo 4 - Liberação de memória após uso DROP TABLE temp -
Oi, Vanessa! Este não é um erro do MySQL. Você deseja encerrar o tópico ou prefere que eu o encaminhe a área do Visual Studio?
-
Oi, '--akira --' ! Vaja se o anexo abaixo te ajuda. Escola.pdf
-
Não use o tipo decimal nem o tipo numeric. Estes tipos estão obsoletos e causam erros. Utilize os tipos double em lugar do decimal e tiniint, smallint, mediumint ou int (também conhecido como integer) em lugar do numeric. Não utilize separadores de milhar e no lugar da vírgula decimal use ponto decimal
-
Oi, Macêdo! Para valores monetários utilize o double e você pode forçar a precisão do campo deste modo: Se o valor vai até 9.999,99 então defina double(6,2) se percentual, utilize 3 casas decimais assim: 999,999 double(6,3) Para campos de sim/não ou masc,fem ou estado civil (casado,solteiro,divorciado,viúvo) utilize enum desta forma: SEXO('MASCULINO', 'FEMININO') NOT NULL ESTADO_CIVIL('SOLTEIRO', 'CASADO', 'DIVORCIADO', 'VIUVO') NOT NULL O not null acima é porque para estes tipos de dados o preenchimento é sempre obrigatório. Para valores de texto, até 6 caracteres use o tipo CHAR (não adianta usar varchar para tamanhos pequenos. O varchar ocupa 6 caracteres no mínimo) Se maior que 6 e até 254 caracteres use o tipo VARCHAR para tamanhos de 255 caracteres até 64KB use o tipo TEXT Valores inteiros TINYINT [uNSIGNED] Um inteiro muito pequeno. A faixa deste inteiro com sinal é de -128 até 127. A faixa sem sinal é de 0 até 255. SMALLINT [uNSIGNED] Um inteiro pequeno. A faixa do inteiro com sinal é de -32768 até 32767. A faixa sem sinal é de 0 a 65535. MEDIUMINT [uNSIGNED] Um inteiro de tamanho médio. A faica com sinal é de -8388608 a 8388607. A faixa sem sinal é de 0 a 16777215. INT ou INTEGER [uNSIGNED] Um inteiro de tamanho normal. A faixa com sinal é de -2147483648 a 2147483647. A faixa sem sinal é de 0 a 4294967295.
-
Descobrir o nome do computador pelo delphi?
pergunta respondeu ao Carlinhos de Denis Courcy em Delphi, Kylix
Oi, 'Carlinhos' ! Teste este. function pubNomeComputador : string; const MAX_COMPUTER_LENGTH = 30; var pNome : PChar; len : DWord; begin try len := MAX_COMPUTER_LENGTH + 1; GetMem(pNome, len); if GetComputerName(pNome, len) then Result := pNome else Result := 'Não foi possível obter o nome deste computador!'; finally FreeMem(pNome, len); end; end; -
Oi, 'bsmachado' ! Espero que este te sirva. (Clique no anexo) VideoLocadora.pdf
-
Só através de Stored Procedure.
-
Carlos, Dê uma olhada nestes links. Central do Exportador Pedido >> gerar >> Romaneio - Portal SuporteGas | Forums | GAS ... Como editar e adicionar itens ao Romaneio de Vendas
-
Oi, Carlos! Se estão te pedindo para colocar romaneio no seu sistema é porque já o fazem manualmente. Converse com a área, faça um levantamento do que eles tem e de como fazem hoje, manualmente e só DEPOIS, SOMENTE DEPOIS, identifique as novas necessidades para que sejam implantadas no sistema. Se não me falha a memória, romaneio é o controle de distribuição de mercadorias (em caminhões) para os diferentes trajetos (filiais/clientes)
-
(Resolvido) Retornar dois resultados para uma mesma linha
pergunta respondeu ao Joao Paulo M. de Denis Courcy em MySQL
Oi, Joao Paulo M.resolvido: Uma forma mais interessante seria assim: SELECT idade, COUNT(idade) AS qtd FROM table WHERE idade = idade GROUP BY idade -
Pedro, Observe o post #5deste tópico. No select que enviei falamos dos atributos TotalScore, TotalGrade e do atributo calculado count. Não falamos do atributo TotalRank. Quem é este atributo? Só agora percebi isto.
-
Pedro, 1. Este atributo TotalGrade é numérico? 2. Se não é tem algum espaço ou caracter indevido dentro do campo que pode estar causando este tipo de transtorno? 3. Se é numérico, por que você usa número negativo? Quanto a TotalRank 4. é numérico? 5. Igual a pergunta 2
-
Pedro, respondendo sua pergunta, ativei um log de consultas lentas log_slow_queries=/var/log/mysqld.slow.log. de vez em quando dê uma olhada no conteúdo do log para avaliar que tabelas/consultas estão ficando críticas. Além disso, As variáveis do MySQL mostradas em SHOW VARIABLES e SHOW STATUS te darão uma boa visão. Abaixo segue uns links que utilizo para me lembrar do que fazer quando um problema desse aparece. Os conteúdos estão em inglês, mas logo disponibilizarei, aqui no forum, os artigos traduzidos para o português. [HowTo] Optimising MYSQL Optimizing MySQL: Hardware and the Mysqld Variables MySQL 3.23, 4.0, 4.1 Reference Manual :: 7 Optimization MySQL Query Optimization