Procédure SQL de SAS, La base de données

Date de création : 2015-03-23
Nombre de pages : 10


Procédure SQL de SAS … Les procédures du module SAS/STAT sont étudiées dans les cours de statistique afférents.

  • Introduction
  • Langage SQL

Extrait du document

Procédure SQL de SAS

where …
order by … desc;
/
* affichage de la table créée
*/ select * from …

La commande order by … desc va permettre ici de trier les employés par ordre décroissant d’ancienneté.
Exercice 7 : Créez une table nouvprix (pour nouveaux prix), copie de la table produit.
Modification de tables Diverses instructions permettent de modifier les données et la structure d’une table ; alter permet d’ajouter, supprimer des colonnes, modifier leurs attributs ; update permet d’ajouter/modifier des valeurs à une colonne.
Executez et commentez : procsql;
alter table nouvprix
add prix2011 num format=euro.;
select *from nouvprix;
A noter la création de la variable prix2011: la commande utilisée permet de préciser que cette dernière est de type numériqueet exprimée en euros. Les prix 2011 sont obtenus en ajoutant 20%au prix catalogue : procsql;
update nouvprix setprix2011=prodlist*1.2; select*from nouvprix;
La création de nouvprix, l’ajout et le remplissage de prix2011 auraient pu être faits en une seule étape. On peut aussi ne modifier que certaines valeurs d’une colonne. Par exemple,

Exercice 8: Adapter le code de l’exercice précédent pour écrire une procédure SQL qui applique en 2008 une augmentation de 20%au prix catalogue des produits coûtant moins de 240 euros, et qui laisse inchangé le prix des produits coûtant plus de 240 euros.

Le programme obtenu peut être écrit de manière plus courte, avec l’option case … end procsql;
update table setprix2011=prodlist * case when prodlist<= 240 then 1.2 else 1 end

L’instruction insertpermet d’insérer des lignes dans une table. Exécutez l’exemple suivant : procsql;
insert into nouvprix values (« cremesol »,9,10,12,11,10);

select * from nouvprix;

Notez que l’ordre des valeurs dans values doit correspondre à l’ordre des colonnes dans la table modifiée. On ne peut spécifier des valeurs que pour certaines colonnes de nouvprix. Dans ce cas, ces colonnes sont désignées par l’instruction select. La valeur d’une colonne non remplie est alors considérée comme manquante. Enfin, on peut remplacer values par la syntaxe suivante, qui ne nécessite pas de connaître l’ordre des colonnes : setnomprod= »cremesol », cost=11, prodlist=12, prix2011=13;

On peut supprimer des lignes par : procsql; delete from nouvprix where nomprod= »cremesol »;
select *from nouvprix;


Télécharger le document

Laisser un commentaire

Votre adresse de courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *