如何为在过程中创建的表创建触发器,在下面找到它?你也会找到触发器的句子

时间:2016-06-07 12:33:32

标签: function datetime triggers varchar

create procedure init()
BEGIN 
DROP TABLE IF EXISTS Table_Stanging;
DROP TABLE IF EXISTS Visits;
DROP TABLE IF EXISTS Offices;
DROP TABLE IF EXISTS Patiens;
DROP TABLE IF EXISTS Medics;

CREATE TABLE Medics(
Name varchar(50),
Surname varchar(50),
Type VARCHAR(50),
Speciality varchar(50))
engine InnoDB;

CREATE TABLE Patiens(
Name varchar(50),
Surname varchar(50))
ENGINE InnoDB;

CREATE TABLE Offices(
Name varchar(50))
ENGINE InnoDB;

CREATE TABLE Visits(DateHour datetime,
Medics INT NOT NULL,
Patiens INT NOT NULL,
Offices INT NOT NULL)
ENGINE InnoDB;

CREATE TABLE Table_Stanging(
DateVisit VARCHAR(50),
HourVisit TIME,
PatientName varchar(50),
PacientSurname varchar(50),
MedicName varchar(50),
MedicSurname varchar(50),
Office varchar(50));

ALTER TABLE Medics ADD unique(Name, Surname);

ALTER TABLE Patients ADD UNIQUE(Name,Surname);

ALTER TABLE Offices ADD UNIQUE(Name); 

ALTER TABLE Medics ADD COLUMN IDMed INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

ALTER TABLE Patients add COLUMN IDPat INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

ALTER TABLE Offices add COLUMN IDOff INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

ALTER TABLE Visits ADD COLUMN IDVis INT NOT NULL PRIMARY KEY AUTO_INCREMENT;


ALTER TABLE Visits add constraint fk_Medics foreign key(Medics) 

REFERENCES Medics(IDMed);

ALTER TABLE Visits add constraint fk_Patients foreign key(Patients) 

参考患者(IDPat);

ALTER TABLE Visits add constraint fk_Offices foreign key(Offices) 

参考办公室(IDOff);

END$

句子是:主要填充表 - 访问,患者和办公室 - 使用触发器自动完成,将数据导入临时表。当您插入新记录并执行以下操作时,触发器附加的临时表会自动运行: - 调用格式化正确日期的函数(小心!登台表上的列必须定义为varchar,否则NEW.data将为0000-00 - 00!)。它接收两个字符串作为参数(时间和日期的格式,它们出现在文件中,例如:22/04 / 2005,01:52:34,并返回一个DATETIME类型的值,表示日期+时间)访问,因为它应该出现在表格访问; -add适当记录表和机柜中的患者,在表中使用LAST_INSERT_ID()或添加SELECT导致外键值; - 使用先前计算的值访问表格。

0 个答案:

没有答案