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...):

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)
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.
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.

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
Merci d'avance