• Aucun résultat trouvé

Programmation SQL

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation SQL"

Copied!
6
0
0

Texte intégral

(1)

! " " # $

% " " %

" # & ' ( "

& % & % )

* +,, ! ) -, , .( ( ,/)0, ,

1 2 31 2 4 * - # )

# " ! 5 ! % -

&& % && % ' ! 6 "

1 & ! - 7)

2 /088

(2)

/

La programmation SQL

1. Introduction

9 ! : % ;

% #. 6 ) -

9 " < % : % - & = , 9 "

9 ! % - & > ( 9 3>( 9 4)

: - - ; * )

; 3 4 * ' )

# $ !

< ) % " ' 6 ! $ && %

! & ; " !

- 7 - - - " )

* 3 -- 4 " *

" " # ! ! % # #

- ) * * '

' ! )

2. La base de données

LignesCommande NumCommande NumProduit Qte

id: NumProduit NumCommande acc

ref: NumProduit ref: NumCommande

acc Produit

NumProduit Libelle Prix QteStock id: NumProduit

acc

Commande NumCommande NumClient DateCommande id: NumCommande

acc ref: NumClient

acc

Client NumClient Nom Adresse Localite Categorie Compte id: NumClient

acc

3. Les procédures stockées

? ; # 7 " " # ) #

% & < . )

- % ; )

9 - < ) %

; > ( 9 3 9 ! 4 % 7 % = , 9 3

: 4)

; "

) ? & ; # " $ )

; & " )

(3)

@

3.1 Procédure stockée en SQL Serveur

A +

CREATE PROCEDURE nom_procedure

[@arg1 type [OUTPUT], …, @argn type [OUTPUT] ] AS

DECLARE @Var1 type .

DECLARE @Varn type .

. .

& % " " nom_procedure

. # CREATE PROCEDURE) # ;

7 & . DROP PROCEDURE)

: ! - ! ) = * " - % &

% # # - # 3 OUTPUT4

3OUTPUT B 4) = & %

# ) > ( 9 % . # - $

) % & 7 - C 1 3@04)

= + ! &

% ' & . % . DE# ! & )

7 +

CREATE PROCEDURE sp_inc_stock (

@num_produit CHAR(5), @qte_act INTEGER OUTPUT) AS

DECLARE @Qte INTEGER SELECT @Qte = QteStock FROM Produit

WHERE NumProduit = @num_produit SELECT @Qte = @Qte + 1

UPDATE Produit

SET QteStock = @Qte

WHERE NumProduit = num_produit SELECT @qte_act = @Qte

-- exécution :

DECLARE @RESULT DECIMAL(2,1)

EXEC SP_INC_STOCK P001, @RESULT OUTPUT GO

7 % sp_inc_stock # ;

num_produit # )

(4)

F

4. Programmation SQL

! < % & - 9

* % # && )

4.1 En SQL Server

• && +

SELECT @Var = expression

• +

IF condition BEGIN

. END ELSE BEGIN . END

• +

WHILE condition BEGIN

. END

• && * - ' # +

PRINT ’information’

5. Les curseurs

- 9 3 * ; 4%

" # " $ - % * " -

. # )

# - # " ! * " -

&& )

# & < . )

: 9 ! )

5.1 Les curseurs sous SQL Server

A +

DECLARE nom_curseur CURSOR FOR

SELECT attr1, …, attrn FROM table

[JOIN …]

[WHERE condition]

[GROUP BY …]

[HAVING …]

[ORDER BY …]

(5)

G

! ! DECLARE) .

! CURSOR % ! " $ ) " $

" ! 6' ! )

? & % # ) : - ! +

8) : ! . 9 := +

OPEN nom_curseur

/) # & * % 8 +

FETCH nom_curseur INTO @Var1, …, @Varn

& " " " $ && '

! ! >:)

@) %

' # )

WHILE @@fetch_status = 0 BEGIN

>

F) ! & % & ' ! +

FETCH nom_curseur INTO @Var1, …, @Varn

END

G) ? & % &

CLOSE nom_curseur

) # % ! +

DEALLOCATE nom_curseur

7 + ? 7 * )

6. Les déclencheurs

= - 7 ! < % !

7 * 3 -- 4) ? * -

! < " # 7 " # ! ! )

6.1 Les événements

! * # 6 % ' 6 #

- $ # ) *

9 (/% ! &

< 3= , 9 : > ( 9 9 ! 4) ! *

- +

• BEFORE INSERT + 7 !

• BEFORE UPDATE+ 7 ! &

• BEFORE DELETE+ 7 !

• AFTER INSERT+ 7

• AFTER UPDATE+ 7 ' 6

• AFTER DELETE+ 7

9 ! % -- A: )

(6)

Cliquez ici pour telecharger le PDF complet

Références

Documents relatifs

Liste des installations d'essai du programme national d'évaluation de la conformité aux BPL de l'ANSM (médicaments à usage humain, produits cosmétiques et produits de

Mesures à prendre en cas d’incendie (système d’alarme incendie à signal simple) – Au responsable du bâtiment Fiche 2 Mesures à prendre en cas d’incendie (système

Mesures à prendre en cas d’incendie (système d’alarme incendie à signal double) – Au responsable du bâtiment Fiche 2 Mesures à prendre en cas d’incendie (système

Exemple 1 : Dans le cadre d’une course à la voile en solitaire, représentez le schéma relationnel après avoir fait le schéma Entité-Relations pour les informations suivantes :

Ainsi, en cas de défaillance des services en ligne de l’INPI empêchant de faire un dépôt de marque, la formalité peut être réalisée par télécopie à l’INPI, à

méthode de l’objet o passé comme argument ; les arguments de la fonction doivent être passés comme un objet Array. – bind : crée une nouvelle fonction qui, lorsqu’elle

Bar- Cabaret L’Eden Michel Thibault &amp; David Ouellet 155, de l’Évêché Ouest,

L’établissement d’enseignement peut, en maintien dans les lieux doit donner un avis d’un cours de bail, avoir accès à la chambre pour : mois avant la fin du bail, indiquant