Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours bases de données » Cours SQL » Exercices SQL »

Articles similaires

  • Exercice Langage SQL : Requêtes sur les Procédures stockées
  • Tuto Word : Créer et mettre à jour un index un index
  • Application Python : gestion des comptes
  • Exercice Access : gestion des salariés
  • Tuto Excel : créer une plage nommée dynamique
  • Comment analyser le bilan et le compte de résultat?
  • Ms Project : comment créer un nouveau projet
  • Tutoriel Word : comment créer une table des matières
  • Tuto Excel : créer un graphique à partir de plusieurs feuilles
  • Créer un tableau de bord de recouvrement de créances avec Excel
  • Tutoriel PowerPoint : comment créer une chronologie ?
  • Diagramme Gantt Excel : Vérification et Mise à Jour Constante des Données

Documents similaires

  • Comment créer un compte de résultat différentiel avec Excel ?

  • Modèle Word de procédure de travail et opérations

  • Qu'est-ce le compte de résultat d'une entreprise ?

  • Cours et exercices en Langage C

  • Modèle professionnel de CV juriste sur Word

  • Cours pour apprendre à créer des Scripts avec le langage JavaScript

  • Modèle Word de reçu pour solde de tout compte

  • Modèle de compte d'exploitation sur Excel

Exercice Langage SQL : Procédure Stockée et Cursor

Rédigé par GC Team, Publié le 13 Décembre 2011, Mise à jour le Mardi, 30 Novembre 1999 00:00
Participez au vote ☆☆☆☆☆★★★★★


Utilisation de Procédure Stockée & Cursor

Travail à Faire:

Créer une procédure Stockée qui a pour rôle de mettre à jour la table USER a partir d'un autre table ou vue.
NB:
- si l'utilisateur  existe déja, on va rafraichir les Informations
- si l'utilisateur  n'existe pas, on va donc le créer 


 

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
CREATE   PROCEDURE dbo.AddOrUpdateUser
AS
DECLARE
	@MatriculeSalarie AS nvarchar(50),
	@NumSalarie AS nvarchar(50),
	@Nom AS nvarchar(50),
	@Prenom AS nvarchar(50),
	@Num_adherent AS int,
	@Situation_Familiale AS nvarchar(50),
	@Nb_Enfant AS int,
	@Categorie AS nvarchar(50),
	@Service AS nvarchar(50),
	@Famille_Categorie AS nvarchar(50)
 
 
 
 
-- Utilisation d'un curseur pour parcourir tout les données 
DECLARE
	 Curseur1 CURSOR FOR
		 SELECT DISTINCT MatriculeSalarie, SA_CompteurNumero, Nom, Prenom, Num_Adhesion, SituationFamille, NB_Enfant, Catégorie, Service
			FROM         VIEW_SAl_Information
			WHERE     (DateHist IS NULL) AND (hstDate_Famil IS NULL)
			ORDER BY SA_CompteurNumero
 
 
 
OPEN Curseur1
 
FETCH NEXT FROM Curseur1 INTO @MatriculeSalarie , @NumSalarie , @Nom , @Prenom ,@Num_adherent , @Situation_Familiale ,@Nb_Enfant ,@Categorie , @Service 
 
WHILE @@FETCH_STATUS = 0
 
BEGIN
	IF EXISTS(SELECT Matricule FROM dbo.Dossier_Personnel WHERE (dbo.Dossier_Personnel.Matricule = @MatriculeSalarie))
-- Dans cette partie, le Compte existe déja, on a donc juste besoin de rafraichir les Informations
	BEGIN
		UPDATE 
			dbo.Dossier_Personnel
		SET 	
			dbo.Dossier_Personnel.Nom = @Nom,
			dbo.Dossier_Personnel.Prenom = @Prenom,
			dbo.Dossier_Personnel.Num_adherent = @Num_adherent,
			dbo.Dossier_Personnel.Situation_Familiale = @Situation_Familiale,
			dbo.Dossier_Personnel.Nb_Enfant = @Nb_Enfant,
			dbo.Dossier_Personnel.Categorie = @Categorie,
			dbo.Dossier_Personnel.Service = @Service
 
		WHERE 
			dbo.Dossier_Personnel.Matricule = @MatriculeSalarie
	END
ELSE
-- Dans cette partie, le compte n'existe pas, on va donc le créer
	BEGIN
		INSERT INTO dbo.Dossier_Personnel
			(Matricule,
			NumSalarie, 
			Nom,
			Prenom,
			Num_adherent, 
			Situation_Familiale, 
			Nb_Enfant,
			Categorie, 
			Service)
		VALUES 
			(@MatriculeSalarie,
			@NumSalarie,
			@Nom,
			@Prenom,
			@Num_adherent,
			@Situation_Familiale,
			@Nb_Enfant,
			@Categorie,
			@Service)
 
	END
 
FETCH NEXT FROM Curseur1 INTO @MatriculeSalarie , @NumSalarie , @Nom , @Prenom ,@Num_adherent , @Situation_Familiale ,@Nb_Enfant ,@Categorie , @Service 
 
END 
 
CLOSE Curseur1
DEALLOCATE Curseur1
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02