-
Total de itens
3.089 -
Registro em
-
Última visita
Tudo que Denis Courcy postou
-
Oi, 'Ademir Gabardo'! A sua lógica pode estar te dando a impressão de estar duplicado. Pois palo que você descreveu em sua PRIMARY KEY USING BTREE (`id`,`usuario`), ou você vai ter o mesmo usuário com números de id diferentes ou você vai ter números diferentes com o mesmo usuário. Sua primary Key deveria ser somente PRIMARY KEY USING BTREE (`id`), e você deveria criar uma chave única para usuário. Ou seja somente pode existir um usuário cadastrado com este nome de usuário. De qualquer forma reveja sua lógica.
-
(Resolvido) Somar registros em tabelas distintas.
pergunta respondeu ao Eron Pessoa de Denis Courcy em MySQL
Oi, 'Eron Pessoa Na tabela B use REPLACE(REPLACE(REPLACE(CNPJ,'.',''),'-',''),'/','') para se referir a cnpj. -
MySQL suporta busca accent insensitive?
pergunta respondeu ao Francisco Caserio de Denis Courcy em MySQL
Francisco, O collation que uso é o default latin1_swedish_ci O script é o quase o mesmo. Só usei um campo em vez de dois. Não vejo erro no modo como você está fazendo. -
MySQL suporta busca accent insensitive?
pergunta respondeu ao Francisco Caserio de Denis Courcy em MySQL
Oi, 'Francisco Caserio' Criei dois registros em uma tabela de testes. um com 'crianca' e outro com 'criança'. Executei conforme abaixo e, nos dois casos, me trouxe os dois registros MATCH(<campo>) AGAINST ('crianca' IN BOOLEAN MODE) MATCH(<campo>) AGAINST ('criança' IN BOOLEAN MODE) -
OK.Tópico encerrado.
-
Oi, 'neo_soro' O correto para o sinal de diferente é <> e você usou != -> IF((OLD.pago<>NEW.pago)AND(NEW.pago!=0))THEN Neste caso você terá que pensar em uma lógica para que o campo só seja alterado uma vez. Pois do jeito que você escreveu, todas as vezes que o campo NEW.pago estiver true ele gravará. Lembre-se o triger é disparado independente da vontade do ator.
-
Oi,'neo_soro' Por padrão um trigger é disparado automaticaente e independente da intenção do usuário, toda vez que uma ação de atualização (dependendo do tipo de triger, inclusão, atualização ou exclusão de registro) ocorre em determinada tabela. Para que uma atualização ocorra dependendo da intenção do usuário você tem duas escolhas: 1ª - colocar a instrução de update dentro de um IF OLD.campo <> NEW.campo then e mudar a opção de AFTER para BEFORE do seu triger para que a avaliação possa ser realizada antes que o campo seja modificado. 2ª passar a instrução de um trigger para uma storage procedure, para que seja acionada somente pela vontade do ator.
-
Se um cliente pode ter várias categorias, então a tabela categoria deverá possuir o atributo id_cli como chave estrangeira de cliente em categoria. Mesma resposta acima. Não entendi esta última tabela.
-
Oi, 'Levi_gns' Indexe o campo 'vc_modelo' como fulltext e faça a consulta normalmente. Este tipo de índice é o tipo utilizado pelo google para encontrar as informações pesquisadas.
-
duvidas nesse exercicio
pergunta respondeu ao Cristian Régis de Denis Courcy em Lógica de Programação
Oi,'Cristian Régis'! Você quer que façamos o algorítimo pra você? Sinto muito, mas não será possível. Mostre o que você já fez. Diga-nos suas dúvidas e te ajudaremos, com prazer. -
Não vejo erro na forma como você escreveu o SQL, exceto pela atualização do atributo id, que não há necessidade de ser atualizado. Seu problema pode estar na formação da string para aceitação de sua linguagem de programação. Transferindo MySQL -->> PHP
-
Oi,'unisov'! Sua pergunta não está relacionada a MySQL. Movendo MyQL -->> PHP
-
diagrama de classes + der + gerar script
pergunta respondeu ao megatanga de Denis Courcy em Demais Bancos
Pelo que conheço não existe tal ferramenta, ainda. Existem várias que geram o DER + o Script (Exemplo ERWin) e várias que geram diagramas de classe (Ex.: Rose, JUDE, etc) -
(Resolvido) É possível: dois campos timestamp com default current_time
pergunta respondeu ao paulobergo de Denis Courcy em MySQL
Somente o primeiro campo timestamp declarado com default current_timestamp recebe esta característica. Para contornar o problema, use um trigger assim: DELIMITER $$; DROP TRIGGER `protocolo`.`sequence_b_insert`$$ create trigger `sequence_b_insert` BEFORE INSERT on `licitacao` for each row BEGIN set NEW.datatermino = NEW.datainicio; END; $$ DELIMITER;$$ -
Oi, 'Fênix_115' ! Não entendi o que você quer. Pode explicar melhor, por favor?
-
(Resolvido) Como pegar o primeiro caracter de uma variavel ?
pergunta respondeu ao Pompeu de Denis Courcy em MySQL
Duas formas: LEFT(variavel, 1) ou SUBSTRING(variavel,1,1) Leia seção 6.3 manual MySQl 4.1 -
Importar dados do SQLServer para MySQL
pergunta respondeu ao Sérgio Murillo de Denis Courcy em MySQL
Nunca fiz. Mas sei que o MySQL tem ferramentas prontas e tutoriais para isto. Veja estes tópicos: Ferramentas de Conversão para MySql Migrating from Microsoft SQL Server and Access to MySQL -
Oi, 'paulobergo'! É possível. A vantagem é poder usar o mesmo código em aplicações diferentes. A desvantagem é a que você está passando agora. Ou seja, na portabilidade do banco. Quando muda o banco é que é o problema. Particularmente eu gosto de manter as rotinas em locais próprios. Ou seja as rotinas de banco no banco e as rotinas de programa no programa. Sou fã de SP, functions e triggers, pois aumentam a funcionalidade a rapidez, além de proporcionar o encapsulamento correto para a rotina. Outro benefício de manter o código de banco no servidor é evitar o tráfego de dados desnecessários entre o cliente e o servidor (o que aconteceria se esta rotina estivesse no programa).
-
(Resolvido) GROUP BY do ultimo registro cadastrado
pergunta respondeu ao Karramax de Denis Courcy em MySQL
Oi, 'Karramax' Muita gente desvirtua o uso do GROUP BY e você não foi exeção. O GROUP BY deve ser usado para agrupamentos obtendo somas, quantidades, médias, etc. A solução de seu problema passa por outra insturção, que é: SELECT n1.not_id, n1.not_titulo, n1.not_subtitulo, n1.not_texto, n1.not_user FROM noticias n1 WHERE n1.not_status = 'S' AND n1.not_id = (SELECT max(n2.not_id) FROM noticias n2 WHERE n2.not_user = n1.not_user) -
Oi, 'IsraelPA' ! Algumas operações não tem como ser executadas remotamente. Entre elas as exibidas acima: Controle de serviço, Log das Variáveis de Startup, etc. Ou você conecta localmente no console do servidor ou usa uma ferramenta, tal como Terminal Service ou VNC ou outra que permita acessar remotamente o servidor.
-
Oi, 'Tchello' As funções abaixo, e eoutras, podem ser encontradas na seção 6.3 do manual do MySQl 4.1
-
Oi, 'paulobergo'! Já comentei sobre este tipo de erro em outro tópico. Verifique se ocorreu um dos erros abaixo: Você tentou criar uma referência a uma tabela que não foi criada ainda, ou seja criou a tabela p_jurídicas antes de criar a tabela atividade; Na tabela atividade o campo codobj não foi definido como primary key; Os campos p_jurídicas.atividade1_codobj e atividade.codobj não foram definidos exatamente iguais (mesmo tipo, sinalização. tamanho e validação quanto a nulidade do campo.); Analisando o texto verifiquei que: Em create table `atividade` você definiu codobj assim codobj integer unsigned not null auto_increment, e na tabela p_jurídicas você definiu campos atividade1_codobj e atividade2_codobj assim: atividade1_codobj integer references atividade (`codobj`), atividade2_codobj integer references atividade (`codobj`), . O correto deveria ser assim:atividade1_codobj integer unsigned default 0, atividade2_codobj integer unsigned default 0, e mais abaixo, perto da criação de índices, você deve fazer como esta linhaconstraint foreign key (atividade1_codobj) references atividade (`codobj`), constraint foreign key (atividade2_codobj) references atividade (`codobj`), Tente novamente e reporte sucesso ou fracasso.
-
Oi, 'paulobergo'! Ficaria assim: create table p_fisicas( pessoas_codobj integer, nome char(70), sexo enum('M','F') not null, estado_civil varchar(15), escolaridade varchar(49), localidade_codobj integer, nome_pai varchar(70), nome_mae varchar(70), email varchar(255), cnpf char(11) not null, data_nascimento date, rg char(20), rg_orgao_exp char(5), rg_data_expedicao date, eh_servidor enum('v','f') not null default 'f', excluido enum('v','f') not null default 'f', constraint foreign key (pessoas_codobj) references pessoas (codobj), unique key (cnpf), primary key (pessoas_codobj) )ENGINE = <engine-sendo usada>; DELIMITER $$; DROP TRIGGER `nome-do-banco`.`p_fisicas_insert`$$ create trigger `p_fisicas_insert` AFTER INSERT on `p_fisicas` for each row BEGIN update pessoas set tipo = "'F" where codobj = new.pessoas_codobj; END; $$ DELIMITER;$$
-
Trigger, não tem parâmetros. É disparado automaticamente a cada atualização da tabela. Neste caso após o insert na tabela "entrada" será disparado, automaticamente, a atualização na tabela "saldo". Ou seja, somente se a gravação da primeira der carto é que a segunda será atualizada. A SP é um programa. é disparado manualmente. Pode conter instruções de atualização ou não. Pode possuir parâmetros de entrada de dados, saida de dados ou de entrada e saida de dados. Não retorna valores. Função. Parecido com SP. Não permite algumas instruções, tais como controle de transação, etc. Aceita parâmetros, tal como uma SP e sempre retorna um valor.
-
Oi,'neo_soro' Coloque a instrulção abaixo em uma trigger AFTER INSERT da tabela entrada. UPDATE conta SET saldo = saldo + var_valor WHERE idusuario = var_idusuario; Por que você está criando a tabela entrada na SP?