begin process at 2012 02 11 16:04:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Triggers

 > TRIGGER DE MAJ

TRIGGER DE MAJ


 Information sur la source

Note :
Aucune note
Catégorie :Triggers Niveau :Débutant Date de création :02/01/2009 Vu / téléchargé :10 725 / 462

Auteur : softnour

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
ce trigger mise a jour le stock apres l insertion ou sepretion oubien la modification du ligne de commande

Source

  • create database exercice
  • -- creation de latable article
  • create table article(
  • numart int primary key,
  • stock int)
  • -- creation de latable ligne commande
  • create table lgcommande(
  • numlgcmd int primary key,
  • lgart int foreign key references article,
  • quantite int)
  • ---------------------------------------------------------------------
  • -- Ce trigger va mettre a jour les stocks des articles qui sont suivi en lgcommande
  • create trigger majarticle
  • on lgcommande
  • after delete,insert ,update
  • as
  • begin
  • declare @s int,@lgart int,@q int
  • select @lgart =lgart,@q=quantite from deleted
  • update article
  • set stock=stock+@q where @lgart=numart
  • set @q=0
  • select @lgart =lgart,@q=quantite from inserted
  • select @s=stock from article where @lgart=numart
  • if @s< @q
  • begin
  • print 'desole stock n est pas disponible commadez une quantite<= '+convert(varchar,@s)
  • rollback transaction
  • end
  • else begin
  • update article
  • set stock=stock-@q where @lgart=numart
  • end
  • end
  • -----------------------------------------------------------------------------
  • /* Exemple de l'execution du trigger */
  • select * from lgcommande
  • select* from article
  • insert into article values(1,100)
  • insert into lgcommande values(65,1,26)
  • select * from lgcommande
  • select* from article
  • delete from article where numart=1
  • select * from lgcommande
  • select* from article
  • delete lgcommande where numlgcmd=65
  • select * from lgcommande
  • select* from article
  • update lgcommande
  • set quantite=11
create database exercice

-- creation de latable article
create table article(
numart int primary key,
stock int)
-- creation de latable ligne commande

 create table lgcommande(
numlgcmd int primary key,
lgart int foreign key references article,
 quantite int) 
---------------------------------------------------------------------
-- Ce trigger va mettre a jour les stocks des articles qui sont suivi en lgcommande

create trigger majarticle
on lgcommande
after delete,insert ,update
as
begin
declare @s int,@lgart int,@q int
select @lgart =lgart,@q=quantite from deleted
update article
set stock=stock+@q where @lgart=numart
set @q=0
select @lgart =lgart,@q=quantite from inserted
select @s=stock from article where @lgart=numart
if @s< @q 
begin
print 'desole stock n est pas disponible commadez une quantite<= '+convert(varchar,@s)
rollback transaction
end
else begin
update article
set stock=stock-@q where @lgart=numart
end
end
-----------------------------------------------------------------------------
/* Exemple de l'execution du trigger */
select * from lgcommande
select* from article

insert into article values(1,100)
insert into lgcommande values(65,1,26)

select * from lgcommande
select* from article

delete from article where numart=1
select * from lgcommande
select* from article

delete lgcommande where numlgcmd=65

select * from lgcommande
select* from article

update lgcommande
set quantite=11


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

ENREGISTRER LES MISES À JOUR DE CHAQUE PERSONNE CONNECTÉ SUR... par witch17
SQL SERVER 2005 : HISTORISER LES PROCÉDURES STOCKÉES D'UNE B... par skweeky
VALIDATION DU FORMAT DU N° DE TÉLÉPHONE AVEC TSQL par bad_smi
Source avec Zip GESTION DE STOCK À L'AIDE D'UN TRIGGER [SQL SERVER 2000] par Draven

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales