0% ont trouvé ce document utile (0 vote)
45 vues2 pages

tp2 PL SQL

Transféré par

Rihab Laarabi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues2 pages

tp2 PL SQL

Transféré par

Rihab Laarabi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

CREATE TABLE Client (

Codecl NUMBER PRIMARY KEY,


Nom VARCHAR2(50),
Ville VARCHAR2(50)
);

CREATE TABLE Commande (


NumCom NUMBER PRIMARY KEY,
DateCom DATE,
Codecl NUMBER,
FOREIGN KEY (Codecl) REFERENCES Client(Codecl)
);

CREATE TABLE Article (


CodeArt NUMBER PRIMARY KEY,
Desi VARCHAR2(50),
PU NUMBER,
Qdisp NUMBER
);

CREATE TABLE Detai (


NumComligne NUMBER PRIMARY KEY,
NumCom NUMBER,
CodeArt NUMBER,
Qte NUMBER,
FOREIGN KEY (NumCom) REFERENCES Commande(NumCom),
FOREIGN KEY (CodeArt) REFERENCES Article(CodeArt)
);
-- Exemple d'insertion de données dans la table Client
INSERT INTO Client (Codecl, Nom, Ville) VALUES (1, 'Client 1', 'Paris');
INSERT INTO Client (Codecl, Nom, Ville) VALUES (2, 'Client 2', 'Lyon');

-- Exemple d'insertion de données dans la table Commande


INSERT INTO Commande (NumCom, DateCom, Codecl) VALUES (101, TO_DATE('2023-10-01',
'YYYY-MM-DD'), 1);
INSERT INTO Commande (NumCom, DateCom, Codecl) VALUES (102, TO_DATE('2023-10-05',
'YYYY-MM-DD'), 2);

-- Exemple d'insertion de données dans la table Article


INSERT INTO Article (CodeArt, Desi, PU, Qdisp) VALUES (201, 'Article 1', 10.99,
50);
INSERT INTO Article (CodeArt, Desi, PU, Qdisp) VALUES (202, 'Article 2', 15.75,
30);

-- Exemple d'insertion de données dans la table Detai


INSERT INTO Detai (NumComligne, NumCom, CodeArt, Qte) VALUES (1, 101, 201, 2);
INSERT INTO Detai (NumComligne, NumCom, CodeArt, Qte) VALUES (2, 101, 202, 3);
INSERT INTO Detai (NumComligne, NumCom, CodeArt, Qte) VALUES (3, 102, 201, 1);

1)
declare
numC number :=2;
nomC varchar(30);
nb number :=0 ;
begin
select cl.nom , count(*) into nomC ,nb from Commande c , Client cl
where c.codecl = cl.codecl and cl.codecl=numC group by cl.nom;
dbms_output.put_line('le client N° ' || numC || ' le nom est ' || nomC || ' a
'||nb || ' commandes');
end ;

2)
declare
nb number:0;
ville Client.ville%type :="Paris";
datec Commande.DateCom% := to_date('2023-10-01', 'YYYY-MM-DD');
nb number :=0;
begin
select count(*) into nb from Client cl , Commande c
where cl.Ville=ville and cl.Codecl=c.Codecl and cl.DateCom =datec;
dbms_output.put_line('pour la ville : ' || ville || ' est la date de commande '
|| datec || ' il y a '||nb || ' commandes');
end;

Vous aimerez peut-être aussi