Ir para conteúdo

Daniel Rocha_12822

Members
  • Total de itens

    5
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Daniel Rocha_12822

Informações Pessoais

  • Sexo
    Masculino
  1. Daniel Rocha_12822

    mysql e-mail

    é possível enviar Email pelo mysql direto sem ter que usar php ou outra linguagem? já fiz com Oracle e Sql server, não sei se possível que o Mysql faça esse serviço. exemplo tenho uma tabela toda fez ela sofre uma alteração o próprio banco envia um e-mail ou fazer um agendamento de tarefa (job) para ser executado a cada tempo estimado ai ele chama a procedure que faça o processo de envio?
  2. Daniel Rocha_12822

    trigger validar antes de um insert

    ola amigos sou novo MySQL estou criando uma trigger em banco na seguinte tabela reserva que antes de se inserido ela faça uma validação. CREATE DEFINER=`root`@`localhost` TRIGGER `testecarros`.`reserva_BEFORE_INSERT` BEFORE INSERT ON `reserva` FOR EACH ROW BEGIN declare v_condutor_id int (11); declare v_VALIDA_CONDUTOR_CNH int (11); set v_condutor_id = new.condutor_id; set v_VALIDA_CONDUTOR_CNH = (select c.id_condutor from condutor c inner join veiculo v on v.Id_cnh = c.id_cnh where c.Id_cnh <= v.Id_cnh or c.vencimento_cnh <= current_date() and c.id_condutor = c.id_condutor ); if v_VALIDA_CONDUTOR_CNH <> v_condutor_id then set v_condutor_id = 0; end if; END ( quando o novo registro não atender as condição do select ela retorna um mensagem de erro "CNH vencida ou CNH não permitida para este veiculo ) ***************** CREATE TABLE `cnh` ( `Id_cnh` int(11) NOT NULL AUTO_INCREMENT, `cnh_nome` char(2) DEFAULT NULL, PRIMARY KEY (`Id_cnh`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; *********************************** CREATE TABLE `condutor` ( `id_condutor` int(11) NOT NULL AUTO_INCREMENT, `nome_condutor` varchar(80) DEFAULT NULL, `id_departamento` int(11) DEFAULT NULL, `vencimento_cnh` date DEFAULT NULL, `telefone` varchar(11) DEFAULT NULL, `email` varchar(80) DEFAULT NULL, `id_cnh` int(11) DEFAULT NULL, PRIMARY KEY (`id_condutor`), KEY `id_departamento` (`id_departamento`), KEY `id_cnh` (`id_cnh`), CONSTRAINT `condutor_ibfk_1` FOREIGN KEY (`id_departamento`) REFERENCES `departamento` (`id_departamento`), CONSTRAINT `condutor_ibfk_2` FOREIGN KEY (`id_cnh`) REFERENCES `cnh` (`Id_cnh`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; ********************************************************* CREATE TABLE `cidade` ( `id_cidade` int(11) NOT NULL AUTO_INCREMENT, `Cidade` varchar(50) DEFAULT NULL, `uf` int(11) DEFAULT NULL, PRIMARY KEY (`id_cidade`), KEY `uf` (`uf`), CONSTRAINT `cidade_ibfk_1` FOREIGN KEY (`uf`) REFERENCES `uf` (`id_uf`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; **************************************** **************************************** CREATE TABLE `veiculo` ( `id_veiculo` int(11) NOT NULL AUTO_INCREMENT, `tipo_veiculo` int(11) DEFAULT NULL, `placa` char(7) DEFAULT NULL, `cor` varchar(20) DEFAULT NULL, `km_veiculo_inical` int(11) DEFAULT NULL, `id_cnh` int(11) DEFAULT NULL, PRIMARY KEY (`id_veiculo`), KEY `tipo_veiculo` (`tipo_veiculo`), KEY `id_cnh` (`id_cnh`), CONSTRAINT `veiculo_ibfk_1` FOREIGN KEY (`tipo_veiculo`) REFERENCES `tipoveiculo` (`id_tipoveiculo`), CONSTRAINT `veiculo_ibfk_2` FOREIGN KEY (`id_cnh`) REFERENCES `cnh` (`Id_cnh`) ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=latin1; ************************************************* CREATE TABLE `reserva` ( `id_reseva` int(11) NOT NULL AUTO_INCREMENT, `veiculo` int(11) DEFAULT NULL, `data_reserva` date DEFAULT NULL, `hora_reserva` time DEFAULT NULL, `previsao_volta` date DEFAULT NULL, `previsao_hora` time DEFAULT NULL, `destino` int(11) DEFAULT NULL, `cancela` char(1) DEFAULT NULL, `baixar_reserva` int(11) DEFAULT NULL, `obs` varchar(255) DEFAULT NULL, `condutor_id` int(11) DEFAULT NULL, PRIMARY KEY (`id_reseva`), KEY `veiculo` (`veiculo`), KEY `destino` (`destino`), KEY `baixar_reserva` (`baixar_reserva`), KEY `condutor_id` (`condutor_id`), CONSTRAINT `reserva_ibfk_1` FOREIGN KEY (`veiculo`) REFERENCES `veiculo` (`id_veiculo`), CONSTRAINT `reserva_ibfk_2` FOREIGN KEY (`destino`) REFERENCES `cidade` (`id_cidade`), CONSTRAINT `reserva_ibfk_3` FOREIGN KEY (`baixar_reserva`) REFERENCES `tipobaixa` (`id_tipo_baixa`), CONSTRAINT `reserva_ibfk_4` FOREIGN KEY (`condutor_id`) REFERENCES `condutor` (`id_condutor`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;
  3. Daniel Rocha_12822

    Trigger

    valeu amigo deu certo muito obrigado..
  4. Daniel Rocha_12822

    Trigger

    trigger na table [dbo].[reserva] ante de inseri os dados. Assim tenho table [dbo].[reserva] ante de inseri os dados fazer as seguintes verificações se [condutor_cnh_id] da table [dbo].[condutor] e igual a permitida table [dbo].[veiculo], e se [condutor_cnh_vencimento] da table [dbo].[condutor] não da vencida, e se [res_hora_saida] da [res_data_saida] ja esta reservada nao pode fase uma reserva pro mesmo veiculo no perido entre [res_hora_saida] e [res_hora_retorno] na mesma [res_data_saida]. e se table [dbo].[movimentacao] [mov_data_saida] [date] [mov_hora_saida] estiver em movimento não fará a reserva ai para transação com rollback e printa uma mesagem de erro.na tela. CREATE TABLE [dbo].[RESERVA]( [RES_ID] [int] IDENTITY(1,1) NOT NULL, [RES_VEIC_ID] [int] NOT NULL, [RES_CONDUTOR_ID] [int] NOT NULL, [RES_DATA_SAIDA] [date] NOT NULL, [RES_HORA_SAIDA] [time](7) NOT NULL, [RES_ORIG_CIDADE_ID] [int] NULL, [RES_DEST_CIDADE_ID] [int] NOT NULL, [RES_DATA_RETORNO] [date] NOT NULL, [RES_HORA_RETORNO] [time](7) NOT NULL, [RES_STATUS] [char](1) NULL, CREATE TABLE [dbo].[CONDUTOR]( [CONDUTOR_ID] [int] IDENTITY(1,1) NOT NULL, [CONDUTOR_EMP_ID] [int] NULL, [CONDUTOR_NOME] [varchar](80) NOT NULL, [CONDUTOR_GARGO_ID] [int] NULL, [CONDUTOR_CNH_ID] [int] NOT NULL, [CONDUTOR_CNH_VENCIMENTO] [date] NOT NULL, [CONDUTOR_CNH_NUM] [varchar](16) NULL, [CONDUTOR_CPF] [char](11) NULL, [CONDUTOR_DATA_NASC] [date] NULL, [CONDUTOR_CELULAR] [char](11) NOT NULL, [CONDUTOR_FONE] [char](11) NULL, [CONDUTOR_EMAIL] [varchar](100) NOT NULL, [CONDUTOR_STATUS] [char](1) NULL, [CONDUTOR_DATA_CAD] [date] NULL, [CONDUTOR_LOGRADOURO] [varchar](80) NULL, [CONDUTOR_LOGRADOURO_NUM] [int] NOT NULL, [CIDADE_ID] [int] NULL, [CONDUTOR_CEP] [char](8) NULL, CREATE TABLE [dbo].[VEICULO]( [VEIC_ID] [int] IDENTITY(1,1) NOT NULL, [VEIC_MOD_ID] [int] NOT NULL, [VEIC_ANO] [date] NOT NULL, [VEIC_PLACA] [char](7) NOT NULL, [VEIC_RENAVAN] [varchar](11) NOT NULL, [VEIC_COR] [varchar](20) NOT NULL, [VEIC_KM] [numeric](18, 0) NOT NULL, [VEIC_COMB_ID] [int] NOT NULL, [VEIC_MEDIA_CONS_A] [numeric](18, 0) NULL, [VEIC_MEDIA_CONS_G] [numeric](18, 0) NULL, [VEIC_MEDIA_CONS_D] [numeric](18, 0) NULL, [VEIC_EMP_ID] [int] NOT NULL, [VEIC_VENC_EXTINTOR] [date] NOT NULL, [VEIC_VENC_SEGURO_O] [date] NOT NULL, [VEIC_VENC_IPVA] [date] NOT NULL, [VEIC_VENC_SEGURADORA] [date] NOT NULL, [VEIC_TROCA_OLEO] [date] NOT NULL, [VEIC_CNH_ID] [int] NULL, CREATE TABLE [dbo].[MOVIMENTACAO]( [MOV_ID] [int] IDENTITY(1,1) NOT NULL, [MOV_CONDUTOR_ID] [int] NOT NULL, [MOV_VEIC_ID] [int] NOT NULL, [MOV_DATA_SAIDA] [date] NOT NULL, [MOV_HORA_SAIDA] [time](7) NOT NULL, [MOV_KM_SAIDA] [numeric](18, 0) NOT NULL, [MOV_DATA_RETORNO] [date] NULL, [MOV_HORA_RETORNO] [time](7) NULL, [MOV_KM_RETORNO] [numeric](18, 0) NULL, [MOV_OBS] [varchar](200) NULL, [MOV_ORIGEM] [int] NOT NULL, [MOV_DESTINO] [int] NOT NULL, [MOV_PREVISAO_VOLTA_HORA] [time](7) NULL, [MOV_PREVISAO_VOLTA_DATA] [date] NULL, [MOV_TIPO_MOVI_ID] [int] NULL,
  5. Daniel Rocha_12822

    Trigger

    Sou novo com sql. Situação : Tenho uma tb_reserva presciso fazer uma trigger onde antes do dados a ser inserido no banco a trigger verificar se a cnh do condutor tb_condutor e a mesma permitida pro veiculo na tb_veiculo, e se ja existir reserva feita no perido do horario na tb_reserva e se cnh esta com validade ok ai da um rollback pra cancela a transação.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.