Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 12h49   #1
Membre du Club
 
Homme
Admin BDD & Admin ERP
Inscription : juillet 2006
Messages : 138
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Admin BDD & Admin ERP
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 138
Points : 62
Points : 62
Par défaut [Travaux SQL 2005] conditionner étape

Bonjour tout le monde
Je souhaite conditionner l'exécution d'une étape dans un travail.

Pour ce faire je veux utiliser la valeur de retour de l'étape d'avant (classique) mais je n'arrive pas à renvoyer un erreur dans l'étape d'avant pour utiliser le branchement "en cas d'echec"

Ma condition est sur l'heure
Code :
1
2
SELECT 1
WHERE datepart(hh,getdate()) > 17
le fait que le select renvoi vide est considéré comme ok par le moteur, je cherche donc à créer une valeur de retour d'erreur.

Le but est de réaliser une étape supplémentaire du travail le soir.
Je préfère cela a avoir 2 travaux

merci de votre aide
castorameur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h38   #2
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Bonjour,

Provoquez une erreur dans ce cas avec RAISERROR par exemple en fonction de votre condition.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 13h44   #3
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 158
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 158
Points : 1 617
Points : 1 617
Ou alors utilisez un IF dans le step devant etre execute apres 17 heures.
Code :
1
2
3
4
5
 
IF datepart(hh,getdate()) > 17
BEGIN
    <Ce que vous devez executer>
END
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h12   #4
Membre du Club
 
Homme
Admin BDD & Admin ERP
Inscription : juillet 2006
Messages : 138
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Admin BDD & Admin ERP
Secteur : Distribution

Informations forums :
Inscription : juillet 2006
Messages : 138
Points : 62
Points : 62
Merci vos 2 messages m'ont permis de trouver une solution qui me convient
J'ai finalement fait un mix des 2
Code :
1
2
3
4
IF  datepart(hh,getdate()) > 17
begin
  RAISERROR('',2,1)
end
pour le moment l'étape a lancer est un package SSIS donc je ne sais pas le lancer dans le begin/end

Je fermerai demain pour avoir d'éventuelles remarques sur ma solution
castorameur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h48.


 
 
 
 
Partenaires

Hébergement Web