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 'Pirambu!'! A solução é um pouco grande. Vale mais se você fizer usando sua linguagem de programação. Mas, vamos lá:CONCAT('R$ ', REPLACE(REPLACE(REPLACE(FORMAT(valor, 2),'.',';'),',','.'),';',',')); Função FORMAT Formata o número X com um format como '#,###,###.##', arredondado para D casas decimais, e retorna o resultado como uma string. REPLACE Mudou o ponto decimal para ponto-e-virgula, mudou a virgula para ponto e mudou o ponto-e-virgula para virgula. Colocando o valor em formaro brasileiro. (ponto para milhar e virgula para decimal) CONCAT concatenou as strings. Aviso. Não é possível calcular com este resultado. ele é uma string
  2. Converse com seu provedor. Esta é uma questão que deve estar em seu SLA.
  3. Denis Courcy

    (Resolvido) Trigger

    Neste caso, use AFTER INSERT para a trigger, porque os valores já estarão gravados e a procedure vai conseguir "enxergar" os dados.
  4. Esta não é uma questão específica para o banco de dados. Como você usa ASP vou transferir para o forum apropriado. Movendo MySQL -->> ASP
  5. Denis Courcy

    (Resolvido) Trigger

    Não tem a haver com a ação que está sendo executada? Creio que você deverá passar os valores old.<atributos> como parâmetros para que a procedure saiba o que tem que fazer, pois acho que a procedure não está mais encontrando o registro que está para ser deletado.
  6. Denis Courcy

    (Resolvido) Trigger

    Pode ser. Você também pode chamar a procedure dentro da trigger. A vantagem será, dependendo do que você for fazer, um único lugar para a manutenção da ação a ser executada.
  7. Denis Courcy

    (Resolvido) Trigger

    Before: a trigger é acionada antes do evento ser executado. Exemplo: Se estou fazendo um log de update para uma tabela específica, então devo usar o before, pois me interessa guardar os valores antes que sejam modificados. Veja o exemplo: Em uma tabela de nome 'tempo', que contem o atributo 'dia', existe um registro com valor 10 para este atributo. Se executo UPDATE tempo SET dia = 25; Quando atrigger for acionada como BEFORE UDATE o valor NEW.dia será 25 e o valor de OLD.dia será 10 No caso de DELETE não há NEW.dia. Apenas OLD.dia. After: A trigger é executada após o evento ser executado. Ou seja, os valores de NEW.dia e OLD.dia serão iguais. Uma trigger é criada desta forma:(Resolvido) É possível: dois campos timestamp com default current_time
  8. Denis Courcy

    (Resolvido) Trigger

    Oi, 'Pirambu!' Voce vai precisar criar duas triggers para cada tabela. uma para before update e outra para before delete (para cada tabela).
  9. Oi,'Andre Sanches de Melo' Um CNPJ é dividido desta forma: 00.000.000/0000-00. Então, sabendo que seu campo guarda a informação assim 00000000000000, devemos formatar a instrução conforme abaixo: SELECT CONCAT(SUBSTRING(cnpj, 1,2), '.', SUBSTRING(cnpj,3,3), '.', SUBSTRING(cnpj,6,3), '/', SUBSTRING(cnpj,9,4), '-', SUBSTRING(cnpj,13, 2)) AS cnpj FROM notas
  10. Denis Courcy

    MySQL+PHP

    Oi, 'Rhaone' Use $tb_link = mysql_query ("SELECT * FROM `tabela` ORDER BY Nome WHERE Nome LIKE 'A%'");
  11. Está errando onde o MySQl está dizendo pra você. Isto AUTO_INCREMENT = 1000 Não existe. Para setar o AUTO_INCREMENT a partir de um determinado valor coloque o comandoset insert_id=<numero-inicial-do-autoincrement>;antes da instrução alter table.
  12. 'hernandes73', retornou somente uma linha pois só existe um registro coincidente nas duas tabelas. Lembrando das aulas de conjunto da antiga 3a série primária, o INNER JOIN é a interseção dos conjuntos representados pelas tabelas efetivo e tb_medidas. Para retornar A - B (sendo a o conjunto efetivo e B o conjunto tb_medidas) use LEFT JOIN; Para retornar B - A use RIGHT JOIN.
  13. Selecione a tabela e Pressione F10 ou vá ao menu Table/'Relationships/Foreign Keys' Para ver as demais chaves pressione F7 ou vá ao menu Table/Manage Indexes
  14. Oi, 'The arlindo'! Veja como você declarou na tabela endereco idmun TINYINT( 3 ) UNSIGNED NOT NULL , e na tabela cidades id mediumint(8) Unsigned Not Null auto_increment, Assim este relacionamentoFOREIGN KEY ( idmun ) REFERENCES cidades( id ) ON DELETE RESTRICT ON UPDATE CASCADE Não vai funcionar. Os campos precisam ser do mesmo tipo e tamanho. Modifique a linha na tabela endereco para que fique assim:idmun mediumint(8) Unsigned Not Null default 0
  15. Oi, 'Rodolfo2k10' Um detalhe que pode te ajudar nesta tua lógica é que não há a necessidade de gerar um contador de tempo para saber quanto tempo uma pessoa ficou na empresa. Voce deve pegar a hora inicial de entrada e a hora final de saída e subtrair uma da outra. Quanto a foto, basta guardar á imagem em um diretório quqlquer e no banco de dados guardar somente o caminho onde está a imagem. Fora o exposto acima, não estou vendo uma dúvida específica para o banco de dados MySQL. Apenas uma dúvida como a forma de programar. Neste caso, isto deve ser feito no fórum apropriado a área de programação que você está usando.
  16. Oi, 'Fcesar', Não use INNER JOIN tbl_funcionario On tbl_projeto_func.FUNCIONARIO = tbl_funcionario.IDENTIFICADOR AND tbl_funcionario.DESATIVADO = -1 assim. tbl_funcionario.DESATIVADO = -1 Não faz parte da chave de referência, pelo que estou entendendo. Coloque esta informação na cláusula WHERE. Quem é TEMPO_EXECUCAO? De que tabela vem? Estou tentando estabelecer a necessidade de tantas tabelas neste join.
  17. Este erro ocorre porque você declarou a estrutura de um campo diferente da estrutura do outro na outra tabela. Mostre a estrutura da tabela cidades
  18. Veja o que você passou no primeiro post Create Table cidades( id mediumint(8) Unsigned Not Null auto_increment, id_uf tinyint(3) Unsigned Not Null, nome varchar(100) Not Null, Primary Key (id), Foreign Key (id_uf) References estados(id) On Delete Restrict On Update Cascade )Type InnoDB Default Character Set latin1 Collate latin1_general_ci; Esta ligaçãoForeign Key (id_uf) References estados(id) On Delete Restrict On Update CascadeÉ a que determina a ligação referencial da chave estrangeira Foreign Key (id_uf) com a tabela/atributo estados(id)
  19. Denis Courcy

    Ajuda MySQL

    Oi, 'Thelmo Ximenes' ! As ligações entre as tabelas devem ser estabelecidas de acordo com o tipo de relacionamento que você deseja. Por exemplo: Imaginando que você criou as tabelas pessoas e carros. Então, se em seu projeto uma pessoa pode possuir mais de um carro e um carro só pertence a uma pessoa, então o relacionamento destas tabelas pessoas e carros é um para muitos entre pessoas e carros. Neste caso o identificador de pessoa (campo que você usou para identificar uma pessoa em seu banco de dados) deve ser representado na tabela carros. Ou seja a tabela carros terá diversos atributos, entre eles o identificador de pessoas. Outra visão: Se em seu projeto uma pessoa pode possuir mais de um carro e um carro pode pertencer a mais de uma pessoa, então o relacionamento destas tabelas pessoas e carros é muitos para muitos entre pessoas e carros. Neste caso você deverá ter uma terceira tabela "relacionamento_pessoas_carros" que terá dois atributos. o identificador de pessoa (campo que você usou para identificar uma pessoa em seu banco de dados) e o identificador do carro (campo que você usou para identificar um carro em seu banco de dados). Neste caso não haverá uma ligação direta entre pessoas e carros. a ligação será entre pessoas e "relacionamento_pessoas_carros" e a outra ligação será entre carros e "relacionamento_pessoas_carros". As consultas vão depender do que você quer de resultado e de que tipo de relacionamento foi definido por você. Passe a estrutura das tabelas e responda que tipo de ligação terei entre pessoas e carros e entre pessoas e endereços. Assim poderemos chegar a um modelo aceitável para você.
  20. Type = palavra chave usada para controlar o engine utilizado pelo DBA quando da criação das tabelas. A partir da versão 5 passou-se a utilizar a palavra chave ENGINE no lugar de TYPE. Innodb = Engine desenvolvido originalmente pela oracle e disponibilizado no MySQL a partir da versão 3.23, se não me engano. Seu objetivo é prover uma estrutura que aceite controle de transação. A partir da versão 5 passou a aceitar controle referencial, também. Default Character Set = Palavra chave para indicar o padrão de caracteres usado para esta tabela. latin1 Collate latin1_general_c = Padrão de caracteres usado para esta tabela. (Ver manual do MySQL para saber mais).
  21. Oi, 'Fcesar' ! Informe o select que você está usando, uma pequena massa de dados de cada tabela (pode ser fictício) e a parte da estrutura de cada tabela (os nomes dos campos podem ser ficticios), para que possamos testar e achar uma solução.
  22. Esta é nova pra mim. Mais um teste. Qual o engine de cada tabela? MyISAM, InnoDB, outro? Qual? O atributo re_efet na tabela tb_medidas é índice primário. Existe índice para ele? Se o engine das tabelas é MyISam você já verificou com o myisamchk se as tabelas estão consistentes?
  23. Oi,hernandes73! Você já testou se os dados estão nas duas tabelas (Consultou separadamente)? Experimente trocar o INNER JOIN por LEFT JOIN para forçar que apenas um dos lados retorne a informação desejada. Os atributos tb_medidas.re_efet e efetivo.re_efet são numéricos com mesmo tipo, tamanho e sinalização? Se forem do tipo char o varchar verefique se foram escritos da mesma forma. (espaços, letras acentuadas, maiúsculas/minúsculas, etc). Existem índicers para os atributos tb_medidas.re_efet e efetivo.re_efet? Estas são algumas das perguntas que você deverá responder para achar a solução de seu problema.
  24. Oi, 'The arlindo' Se você está eliminando todos os registros da tabela, use truncate table <nome-da-tabela> em vez de usardelete from <nome-da-tabela>
  25. Crie três tabelas. Uma para produto, outra para mercado e outra para produtoxmercado. Na tabela produtoxmercado coloque o preço. É um simples relacionamento muitos para muitos entre produtos e mercados. Pode fazer com qualquer banco de dados. a estrutura será sempre a mesma.
×
×
  • Criar Novo...