Jump to content
Fórum Script Brasil

Ruy Salles

Membros
  • Posts

    13
  • Joined

  • Last visited

About Ruy Salles

Ruy Salles's Achievements

0

Reputation

  1. Não sei se tem como resolver esse problema.
  2. Saah, vou tentar te dar uma luz. Tenho como prática, nem sempre adotada por todos o desenvolvedores colocar o campo chave com o mesmo nome da tabela com o prefixo ide, sendo o mesmo autoincremento. Vou colocar pouco campos no exemplo abaixo para que o post não fique por demais longo. a) Tabela 01: (da empresa de engenharia) Nome: empresa Campos: ideEmpresa (PK) nomEmpresa (nome da empresa) nroCNPJ (CNPJ da empresa) b) Tabela 02: (clientes da empresa de engenharia) Nome: cliente Campos: ideCliente (PK) ideEmpresa (FK da tabela empresa) nomCliente (nome do cliente) nroCNPJ (CNPJ do cliente) c) Tabela 03: (fornecedores da empresa de engenharia) Nome: fornecedor Campos: ideFornecedor (PK) ideEmpresa (FK da tabela empresa) nomFornecedor (nome do Fornecedor) nroCNPJ (CNPJ do Fornecedor) O campo ideEmpresa é chave estrangeira nas tabelas cliente e fornecedor e através dele você relaciona as tabelas. Espero ter ajudado
  3. Achei uma solução para a quebra de linha o select que precisava implementar. Ao construir a minha consulta, criei uma tabela temporária e vou dando insert para cada cláusula e parágrafo do contrato.
  4. Boa noite Denis, o Firebird é possível realizar a quebra de linhas utilizando este comando ASCII_CHAR(13), com ele monto minha consulta do contrato sem precisar manipular via sistema. Vou continuar pesquisando, caso ache para o MySQL, posto aqui. Vlw
  5. Tenho um sistema que gera um contrato para os clientes. Preciso montar um consulta que quebre linha no select que irá gerar o relatório. Tentei concatenar com char(10) e char(13), mas no HeidiSQL, não visualizo a quebra de linha no resultado da query. Montei assim: select concat('lorem ipsum',char(10),'dolor sit amet'); Preciso que o resultado apareça assim: lorem ipsum dolor sit amet Obrigado a quem possa ajudar
  6. Tente isso select pa.nome_paciente, pr.procedimento, pg.valor, pr.medico from paciente pa, pagameto pg, procedimento pr where pa.id_paciente = pg.id_paciente and pa.id_paciente = pr.id_paciente Espero ter ajudado
  7. Boa noite Fininho. Construí uma agenda para profissionais de saúde da seguinte maneira: Tabela 01: contém todos os horários de atendimento da clinica, é alimentada no formulário de parâmetros do sistema, onde informo primeiro horário de atendimento, o último horário de atendimento no dia e o intervalo entre consultas Nome: horarioreferencia Campo: horario Tabela 02: Armazena os horários com consulta agendada Nome: HorarioConsulta Campos: - ideHorarioConsulta (primary key) - idePaciente (foreign key da tabela paciente) - ideProfissional (foreign key da tabela profissional) - ideProfissionalEsp (foreign key da tabela especialidade do profissional) - dtcConsulta (data da consulta) - horInicio (horário de início da consulta) - horTermino (horário de término da consulta) - stsConsulta (status da consulta (agendada, cancelada, etc); - dtcMarcacao (data que foi marcada a consulta) - horMarcacao (hora que foi marcada a consulta) - dtcAlteracao (data que foi alterada alguma informação da consulta) - horAlteracao (hora que foi alterada alguma informação da consulta) - ideUsuario (foreign key da tabela paciente) - ideUsuarioAltera (foreign key da tabela paciente) Quando for exibir os horários para marcação, você faz um left join entre a tabela HorarioConsulta e HorarioReferencia. Espero ter ajudado.
  8. db = MySQLdb.connect(host="localhost", user="user", passwd="senha", db="banco") Vitor, não conheço Python, mas, através da sua string de conexão, altere o host de "localhost" para o IP da sua máquina, se não utiliza IP estático, tente com o nome do seu computador (nem sempre funciona em outras linguagens). Abraços
  9. Tente isso select * from horarios where horario not between 10:30 and 12:30 ou select * from horarios where cod not between 10 and 15
  10. Denis, muito obrigado pela sua ajuda. Resolveu meu problema. Ao criar a Stored estava colocando parâmetros de saída. A solução foi mais simples do que imaginei.
  11. Obrigado pela sua resposta, mas ao executar um procedure com um select na tabela, apresenta o seguinte erro: Preciso retornar via stored procedure a relação de fornecedores cadastrados no sistema, mas estou fazendo no banco de desenvolvimento. Error 1772 - O resultado consistiu em mais de uma linha, por esta razão estava usando o cursor. Não entendi quando você cita: "você está retornando um set de informação para cada iteração do cursor.". Como posso corrigir?
  12. Estou migrando minhas bases de dados de Firebird para MySql, porém, ao executar uma Store Procedure que retorna mais de uma linha, só visualizo de forma transversal no HeidSql, ou seja, em abas separadas ao invés de fica um registro sobre o outro. Abaixo seque o script; delimiter $$ drop procedure if exists teste; create procedure teste() begin DECLARE done INT DEFAULT false; DECLARE p_nomFornecedor varchar(200); DECLARE p_desApelidoFantasia varchar(200); DECLARE cur_emp CURSOR FOR select nomFornecedor, desApelidoFantasia from fornecedor order by nomFornecedor; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur_emp; read_loop: LOOP FETCH cur_emp INTO p_nomFornecedor, p_desApelidoFantasia; IF done THEN LEAVE read_loop; END IF; SELECT p_nomFornecedor, p_desApelidoFantasia; END LOOP; CLOSE cur_emp; end; $$ Grato a quem possa ajudar.
×
×
  • Create New...