Bonjour a tous,
je recherche des personnes pour m'aider.Je vous explique mon petit probleme.
Je dois creer trois tables (jusque la rien de bien sorcier...):
La table 'Q' correspond a une table d'attente, 'Active' a une table contenant au maximum 10 lignes et 'Archieve' a une table contenant les requetes finies.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 CREATE DATABASE it_support; CREATE TABLE 'Q'( 'jobcode' INT NOT NULL AUTO_INCREMENT, 'name' VARCHAR(25) NOT NULL, 'contact' VARCHAR(25) NOT NULL, 'description' VARCHAR(100) NOT NULL, 'location' VARCHAR(25) NOT NULL, 'date' DATE NOT NULL) CREATE TABLE 'Active'( 'jobcode' INT NOT NULL AUTO_INCREMENT, 'name' VARCHAR(25) NOT NULL, 'contact' VARCHAR(25) NOT NULL, 'description' VARCHAR(100) NOT NULL, 'location' VARCHAR(25) NOT NULL, 'date' DATE NOT NULL, 'techid' TINYINT NOT NULL, 'assigntime' DATE NOT NULL) CREATE TABLE 'Archieve'( 'jobcode' INT NOT NULL AUTO_INCREMENT, 'name' VARCHAR(25) NOT NULL, 'contact' VARCHAR(25) NOT NULL, 'description' VARCHAR(100) NOT NULL, 'location' VARCHAR(25) NOT NULL, 'date' DATE NOT NULL, 'techid' TINYINT NOT NULL, 'assigntime' DATE NOT NULL, 'completetime' DATE NOT NULL)
En gros, si y'a 10 ligns dans la seconde table, les dossiers sont stockes dans la premiere, puis quand un part dans 'Archieve', un de 'Q' passe dans 'Active'.
Je dois utiliser des triggers pour faire ca, mais c'est un peu flou.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 CREATE TRIGGER add_job AFTER INSERT ON Q FOR EACH ROW BEGIN DECLARE num_active INTEGER; SELECT COUNT(*) INTO num_active FROM active; IF num_active<10 THEN INSERT INTO Active (jobcode, name, contact, description, location, date, assigntime) VALUES(OLD.jobcode, OLD.name, OLD.contact OLD.description, OLD.location, OLD.date, NOW()); DELETE (*) FROM Q WHERE OLD.jobcode=jobcode; END IF; END$$ UPDATE Active SET jobcode=OLD.jobcode, name=OLD.name, contact=OLD.contact, description=OLD.desacription, location=OLD.location, date=OLD.date, assigntime=NOW() WHERE jobcode=NULL; CREATE TRIGGER finished_job BEFORE INSERT ON Archive FOR EACH ROW BEGIN
Partager