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. 'borges02' O MySQL está te informando que ele não aceita a cláusula LIMIT no código abaixo).(SELECT CODIGOREG FROM REGIAO ORDER BY CODIGOREG LIMIT 1)
  2. Oi,'Luis Dalmolin' Se cada registro está do jeito que você mostrou, então o separador é a virgula.
  3. Oi name='hennyere' Faça assim:SELECT grupos.NOME AS NOME_GRUPO, subgrupos.NOME AS NOME_SUBGRUPO FROM subgrupos INNER JOIN grupos ON subgrupos.CODGRP = grupos.CODGRP WHERE subgrupos.CODGRP = '001' AND subgrupos.CODSGP = '00001'
  4. Elvys Pereira, Você está usando aspas no nome da tabela quando deveria usar crase, que é o mais indicado porque sua tabela começa com um caracter diferente de alfabético. Assim: $query = "DELETE FROM `3b_trabalhos` WHERE id = $id;"; Seria o mais correto.
  5. Renta assim: "SELECT CODIGOREG, NOMEREG FROM REGIAO WHERE CODIGOREG NOT IN (SELECT DISTINCT CODIGOREG FROM REGIAO ORDER BY CODIGOREG) ORDER BY CODIGOREG LIMIT 16"
  6. "SELECT CODIGOREG, NOMEREG FROM REGIAO WHERE CODIGOREG NOT IN (SELECT CODIGOREG FROM REGIAO ORDER BY CODIGOREG LIMIT 1) ORDER BY CODIGOREG LIMIT 16"
  7. Movendo MySQL -->> PHP.
  8. Oi,'edersonnves' INSERT INTO `rl_ag_inf_bol_oc` (id_ag_inf, n_bop) id_ag_inf e n_bop são campos desta tabela `rl_ag_inf_bol_oc`? Se sim, troque o nome da variávelCREATE DEFINER = 'root'@'localhost' PROCEDURE `inserir_chave`( IN id_ag_inf INTEGER(11), IN n_bop INTEGER(11) ) para algo como: v_id_ag_inf, v_n_bop , por exemplo. Troque, também nesta linha:VALUES (id_ag_inf, n_bop); Quanto sua pergunta: A resposta é sim. Este comando você deve dar de dentro de seu programa. ele acionará a storage procedure com os parâmetros que você passar. Como uma função/procedure normal de seu programa. Só que realizando a operação dentro do BD.
  9. Oi, 'Gabriel Koerich' Não é erro por causa da função, somente. Seu select tem outros erros na criação do JOIN.
  10. Oi,'edersonnves' Sempre dentro do MySQL O código precisa ser adaptado a sua realidade. Não. poderia chamar banana e laranja ou qualquer outra coisa. é uma variável e pode ter qualquer nome. Não. Usei apenas como exemplo. Você tem que adaptar e colocar o nome de sua variável, por exemplo CALL `test`.`ADD_Func_ender`(banana, laranja)´ Antes que você pregunte `test` é o nome do banco de dados que estou usando como exemplo. `ADD_Func_ender` é o nome da storage procedure que estou usando como exemplo. Já expliquei acima. É a forma de acionar uma storage procedure. É como um comando SELECT, ou INSERT ou outro comando SQL.
  11. Oi, 'Luis Vagner' Crie uma tabela tipo parâmetro que terá somente um registro. Quando você for inserir um dado em sua tabela, vá até esta tabela de parâmetro,; Trave-a com lock table; Dê um update no número dela, Atualize sua tabela original, libere a tabela de parametro. Seu último número será conforme o exemplo abaixo: SET @numero="E001"; select CONCAT("E", IF ((SUBSTRING(@numero,2,3)+1) < 10, LPAD((SUBSTRING(@numero,2,3)+1), 3, '0'), IF ((SUBSTRING(@numero,2,3)+1) < 10, LPAD((SUBSTRING(@numero,2,3)+1), 3, '0'), (SUBSTRING(@numero,2,3)+1)))); onde @numero é uma variável que criei para efeito deste exemplo.
  12. Desculpe a demora. Ver resposta deste tópico: Inserção de dados em tabela N:M
  13. Oi, 'BetoGroo' Basicamente a storage procedure trabalhará como uma instrução insert comum. Assim: DELIMITER $$; DROP PROCEDURE IF EXISTS `test`.`ADD_Func_ender`$$ CREATE PROCEDURE `test`.`ADD_Func_ender` (idfunc integer, idender integer) BEGIN INSERT INTO funcionario_has_endereco (rl_id_func, rl,id_ender) VALUES (idfunc, idender); END$$ DELIMITER;$$ O acionamento desta SP seria assim: CALL `test`.`ADD_Func_ender`(1, 1); A implementação física de como achar/cadastrar um endereço para um funcionário dependerá de sua criatividade na linguagem de programação que você usa.
  14. Oi, 'juniorboll' Você pode forçar este select a retornar zero, usando a função COALESCE, assim: (SELECT COALESCE(SUM(P.PESOLIQUIDO), 0) FROM TGFPER P WHERE P.CODPARC = PAR.CODPARC AND TRUNC(P.DTCOLETA) >= :DAT1 AND TRUNC(P.DTCOLETA) <= :DAT2 AND P.TIPO = 1) ou assim: SELECT COALESCE(SELECT SUM(P.PESOLIQUIDO) FROM TGFPER P WHERE P.CODPARC = PAR.CODPARC AND TRUNC(P.DTCOLETA) >= :DAT1 AND TRUNC(P.DTCOLETA) <= :DAT2 AND P.TIPO = 1), 0)
  15. 'juniorboll', este é todo o select ou é apenas um fragmento?
  16. Oi, 'juniorboll' Controle através de sua linguagem de programação.
  17. Oi,'lost bruner' Neste caso não seria a chave primária (usuários,itens) Assim ficaria em ordem. Faz diferença quando tiver muitos registros.
  18. Já achei alguns erros na configuração de seu servidor. As variáveis abaixo devem ser regonfiguradas no arquivo my.cnf. table_cache está com valor de 64 e deve passar para 1000 key_buffer está com valor de 8MB deve passar para 64 MB join_buffer_size deve passar de 131072 para 1MB Wait_timeout está com o valor 28800. está muito alto. Muitas conexões estão em sleep. passar para 15. Você vai ter que verificar pois, talvez, haverá a necessidade de alterar max_conections novamente por causa desta última variável. Se alterar max_conections deverá alterar table_cache, também.
  19. Na hora de incluir, você deve determinar o último valor e acrescentar +1. Para tal, se seu sistema é multi usuário, você deverá criar uma tabela com um atributo que represente este e acumule o valor. Cada um que for inserir, trave o acesso aos outros, atualize o valor do atributo e use-o em sua tabela original. Em seguida, libere a tabela para que outros possam acessar. Por que você não muda o atributo para auto increment, é muito mais fácil?
  20. Criar um índice (primário de preferência) por este atributo.
×
×
  • Criar Novo...