begin process at 2010 03 15 10:42:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Divers

 > 

Général

 > 

Problème Trigger SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème Trigger SQL

mercredi 10 juin 2009 à 14:27:39 | Problème Trigger SQL

ninho44

Bonjour,

J'ai un trigger qui n'est pas très compliqué, mais j'ai quand même un problème avec.
J'ai une table RESERVATION, avec trois champs ( logement,date,client)
Mon trigger doit vérifier que pour une réservation, le logement n'est pas déjà réservé à la date demandée.

Voici le trigger:

create trigger tg_ins_reserv
on reservation
for insert
as
declare @res_log int, @res_date datetime
select @res_log = res_log from inserted
select @res_date = res_date from inserted
if exists (select res_num from reservation where res_log = @res_log and res_date = @res_date)
BEGIN
    Raiserror ('Logement déjà réservé pour cette date',10,1);
    Rollback Transaction
END
GO

Le problème est que, pour toute date que je renseigne, j'ai le message d'erreur 'Logement déjà réservé pour cette date', et l'insert ne fonctionne pas...

Quelqu'un saurait-il d'où vient le problème ?? MErci d'avance...
vendredi 12 juin 2009 à 23:58:15 | Re : Problème Trigger SQL

crn_c21

Cherche du coté de BEFORE INSERT et AFTER INSERT, car à mon avis ton if exists s'éxécute après l'insertion!!
lundi 22 juin 2009 à 17:38:45 | Re : Problème Trigger SQL

nivsql

Il n'existe pas de trigger "befor insert" en SQL Server si c'est bien sur ce SGBD que tourne ce trigger (comme je le suppose vu la syntaxe).

Par contre la syntaxe me parrait assez propice a ce genre d'erreur.

create trigger tg_ins_reserv
on reservation
after insert
as
BEGIN
declare @res_log int, @res_date datetime
select @res_log = res_log from inserted
select @res_date = res_date from inserted
if exists (select res_num from reservation where res_log = @res_log and res_date = @res_date)
BEGIN
    Raiserror ('Logement déjà réservé pour cette date',10,1);
    Rollback Transaction
END
END
GO

Me semble plus approprié.


Cette discussion est classée dans : problème, date, log, trigger, res


Répondre à ce message

Sujets en rapport avec ce message

Problème trigger [ par mook5naz ] Bonjour a tous, je rencontre un problème pour récuperer un message d'erreur contenu dans le trigger. Je souhaite afficher le message dans un appli en /!\ Probleme trigger /!\ [ par Art_huR ] bonjour,voila je fais un trigger pour ma base qui consiste a prendre la date d'une table que l'on vient de saisir (reservation) et que l'on introduit problème de Date lorsque l'intervalle est à cheval sur 2 mois... [ par nico_ayci ] salut à tous ! j'ai une fonctionnalité de recherche qui donne la possibilité de trouver des enregistrements selon leur date, à plus ou moins X jours. Problème de date [ par kidpigeyre ] Voila mon problème : Je dois afficher les emplacements libres d'un certain type entre deux dates (date_debut et date_fin) en sql access.Voici mes deux base sql problème [ par Fildomen ] salut ( 4fois par jour!!)j'ai réinstaller le windows, et quand je veux attacher ma base de donnée sql server 2000, il me passe une erreur  comme s'il Problème de dates [ par Antilope ] Bonjour,Je dispose d'une table avec les colonnes suivantes :date_debut, date_fin,montant_facture.Une facture porte sur la période date_debut à date_fi Encore un problème de dates avec MySQL [ par ImmortalPC ] Salut, je deviens fou avec mon calendrier J' ai une date de commencement et une date de fin respectivement : date_start et date_end Leur type : datet Problème de table en mutation (Oracle) [ par steppenwolf ] Salut !J'ai un problème sous Oracle lors de l'exécution d'une requête de mise à jour d'une table : SQL> update emp set de Date format... [ par elpens ] Bonjour,j'ai quelques procedures stockees qui utilisent des dates. Mon problème (si on peux appeler cela un problème), est que je ne sais pas quelle e problème de requette [ par beny100 ] bonjour,j'ai un problème avec ma requette. voiçi le code:select * from Alarme_active where date_debut >='31/01/2007'and date_debut='01/02/2007'elle ne


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,390 sec (3)

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