Kharlux
(usa RedHat)
Enviado em 12/10/2008 - 18:56h
Pessoal estou com um problema que não estou conseguindo resolver a algum tempo, peço a cooperação de todos.
Tenho uma tabela ("expediente") ela depente de dados das tabelas veiculo e "funcionario". OK, eu tenho uma trigger que joga isso para a tabela "historico".
No entanto eu preciso pegar um dado e fazer um update nessa tabela "histórico". O dado se encontra em uma outra tabela gerada a partir de uma consulta na tabela "itinerario".
Eis o maior dos meus problemas eu preciso fazer um update para cada registro dessa consulta em "itinerario". Não tive sucesso até o momento e não estou tendo sucesso com PL.
Caso seja necessário mais informações ou algo tenha ficado vago, faço um detalhamento maior.
Agradeço a todos.
Forte abraço.
#Queries
Create table funcionario (
cod_func Varchar(20) NOT NULL,
nome Varchar(20) NOT NULL,
Primary Key (cod_func)) ENGINE = InnoDB;
Create table fei_veiculo (
cod_veiculo Varchar(20) NOT NULL,
status Varchar(20) NOT NULL,
Primary Key (cod_veiculo)) ENGINE = InnoDB;
Create table expediente (
num_corrida Int NOT NULL AUTO_INCREMENT,
data Datetime NOT NULL,
cod_func Varchar(20) NOT NULL,
cod_veiculo Varchar(20) NOT NULL,
Primary Key (num_corrida,cod_func,cod_veiculo)) ENGINE = InnoDB;
Create table itinerario (
cod_titulo Varchar(20) NOT NULL,
cod_parada Varchar(20) NOT NULL,
Primary Key (cod_titulo,cod_parada)) ENGINE = InnoDB;
#Trigger
DELIMITER |
CREATE TRIGGER banco AFTER INSERT ON expediente
FOR EACH ROW BEGIN
INSERT INTO historico SET hora=sysdate(), num_corrida=NEW.num_corrida,cod_func=NEW.cod_func,cod_veiculo=NEW.cod_veiculo,cod_titulo='0',cod_parada='1';
END;
|
DELIMITER ;
#Constraints(ignorar as que der erro)
Alter table expediente add Foreign Key (cod_func) references funcionario (cod_func) on delete restrict on update restrict;
Alter table historico add Foreign Key (cod_parada) references parada (cod_parada) on delete restrict on update restrict;
Alter table itinerario add Foreign Key (cod_parada) references parada (cod_parada) on delete restrict on update restrict;
Alter table itinerario add Foreign Key (cod_titulo) references titulos (cod_titulo) on delete restrict on update restrict;
Alter table historico add Foreign Key (cod_titulo) references titulos (cod_titulo) on delete restrict on update restrict;
Alter table expediente add Foreign Key (cod_veiculo) references veiculo (cod_veiculo) on delete restrict on update restrict;
Alter table historico add Foreign Key (num_corrida,cod_func,cod_veiculo) references expediente (num_corrida,cod_func,cod_veiculo) on delete restrict on update restrict;