You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

-- Exercice 1
-- Afficher la liste des véhicules libres dune catégorie dont on saisit le numéro
-- ORA-01001: verifier que le curseur est ouver
-- TEST
-- CAT3
-- VE005 ff-6000-za noire Picasso
-- CAT2
-- Pas de vehicule libre dans cette categorie
-- CAT7
-- Pas de vehicule libre dans cette categorie
DROP TABLE tligne;
CREATE TABLE tligne (ligne varchar2(300));
set echo off;
set verify off;
set feed off;
variable vcategorie char(4);
prompt Entrer le numero de la categorie :
accept vnocategorie
declare
dimmatriculation Tvehicule2017.immat%TYPE;
dnoveh Tvehicule2017.noveh%TYPE;
dcouleur Tvehicule2017.couleur%TYPE;
dmodele Tvehicule2017.modele%TYPE;
dcat number;
cursor r is select noveh, immat, couleur, modele from Tvehicule2017 where nocat='&vnocategorie' and noveh not in (select noveh from Tlocation2017) order by noveh;
begin
select noveh, immat, couleur, modele into dnoveh, dimmatriculation, dcouleur, dmodele from Tvehicule2017 where nocat='&vnocategorie' and noveh not in (select noveh from Tlocation2017) order by noveh;
select count(nocat) into dcat from Tcategorie2017 where nocat='&vnocategorie';
if dcat = 0 then insert into tligne values ('categorie inconnu');
end if;
open r;
fetch r into dnoveh, dimmatriculation, dcouleur, dmodele;
while r%found
loop
insert into tligne values ( dnoveh ||' '||dimmatriculation||' '||dcouleur||' '||dmodele);
fetch r into dnoveh, dimmatriculation, dcouleur, dmodele;
end loop;
close r;
exception
when no_data_found then
insert into tligne values ('Pas de vehicule libre dans cette categorie');
end;
.
/
select * from tligne;
set echo on;
set verify on;
set feed on;