IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[SQLSERVER]Problème de procédure stockée


Sujet :

MS SQL Server

  1. #1
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut [SQLSERVER]Problème de procédure stockée
    Bonjour tout le monde,

    Une petite question , je commence avec les procédures stockées et j'ai une erreur que je n'arrive pas à résoudre.Je précise que cette procédure n'est qu'une procédure de test afin de comprendre comment ca marche..

    Voici ma procédure stockée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    CREATE PROCEDURE UPDATE_INVENTAIRE
    (
    @CLIENTREF VARCHAR(20), 
    @LIEUREF TINYINT, 
    @ARTICLEREF VARCHAR(20), 
    @CATEGORIEREF TINYINT, 
    @DATEREF DATETIME, 
    @QTEREF TINYINT, 
    @TECHUPDATE SMALLINT, 
    @DATEUPDATE DATETIME, 
    @QTEUPDATE TINYINT, 
    @NUMSERIEUPDATE VARCHAR(500)
    )
    AS 
     
    BEGIN TRANSACTION UPDATE_INVENTAIRE
     
    UPDATE Inventaire$Inventaire 
    SET actif='0' 
    WHERE ClientID=@CLIENTREF AND LieuID=@LIEUREF AND ArticleID=@ARTICLEREF AND [date]=@DATEREF AND quantite=@QTEREF
     
    IF @@ERROR <> 0
    	BEGIN
    	ROLLBACK TRANSACTION UPDATE_INVENTAIRE
    	PRINT 'ERREUR'
    	END
    ELSE
    	BEGIN
    	INSERT INTO Inventaire$Inventaire 
    	VALUES (@CLIENTREF,@LIEUREF,@TECHUPDATE,@ARTICLEREF,@CATEGORIEREF,@DATEUPDATE,@QTEUPDATE,@NUMSERIEUPDATE,'1')
    	COMMIT TRANSACTION UPDATE_INVENTAIRE
    	PRINT 'OK'
    	END
    GO

    Dans l'analyseur de requêtes je veux faire un test de cette procédure en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    DECLARE @CLIENTREF VARCHAR(20) 
    DECLARE @LIEUREF TINYINT 
    DECLARE @ARTICLEREF VARCHAR(20) 
    DECLARE @CATEGORIEREF TINYINT 
    DECLARE @DATEREF DATETIME 
    DECLARE @QTEREF TINYINT
    DECLARE @TECHUPDATE SMALLINT 
    DECLARE @DATEUPDATE DATETIME
    DECLARE @QTEUPDATE TINYINT
    DECLARE @NUMSERIEUPDATE VARCHAR(500)
     
     
    SET @CLIENTREF='80105'
    SET @LIEUREF='2'
    SET @ARTICLEREF='MN6280'
    SET @DATEREF= '20061204 14:00:00'
    SET @QTEREF='4'
    SET @TECHUPDATE='4844'
    SET @DATEUPDATE= '04/12/2006 13:00:00'
    SET @QTEUPDATE='10'
    SET @NUMSERIEUPDATE=''
    SET @DATEREF= CONVERT(DATETIME, @DATEREF, 104)
    SET @DATEUPDATE= CONVERT(DATETIME, @DATEUPDATE, 104)
     
    EXEC UPDATE_INVENTAIRE @CLIENTREF,@LIEUREF,@ARTICLEREF,@DATEREF,@QTEREF,@TECHUPDATE,@DATEUPDATE,@QTEUPDATE,@NUMSERIEUPDATE
    Et j'ai l'erreur suivante :

    Se
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rver: Msg 257, Level 16, State 2, Procedure UPDATE_INVENTAIRE, Line 0
    Implicit conversion from data type datetime to tinyint is not allowed. Use the CONVERT function to run this query.
    Je n'arrive pas à résoudre ce problème
    Merci pour vos réponses

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Un autre qui sait pas lire...
    Un peu d'effort de votre part serait grandement apprécié. Je n'aime pas faire un effort à ceux qui n'en font pas.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Je me suis mal exprimé peut être..

    Je ne demande pas une réponse toute faite , ce n'est pas mon but mais j'ai bien vu le message d'erreur qui me dit qu'apparement je tente une conversion implicite des mes valeurs en tinyinit..

    Mais je ne vois pas pourquoi il me fait çà. Bien sûr il me dit d'utilier CONVERT mais comment l'utiliser ? C'est peut être plus cela ma question.

    Je vais continuer à chercher de mon côté de toute façon.

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Je viens de me rendre compte de mon erreur.

    J'avais oublié de mettre une variable lors de l'appel d'exécution de ma procédure.

    Dsl pour le dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème LIKE Procédure stocké SQL Server 2000
    Par Pilhole dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 18/02/2008, 09h24
  2. [SQLServer 2000] Problème accès procédure stockée
    Par LE NEINDRE dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/08/2007, 14h21
  3. Problème de procédure stockée fausse
    Par le-maraudeur dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2007, 13h21
  4. Réponses: 1
    Dernier message: 17/07/2006, 17h08
  5. Problème de procédure stockée
    Par Sorcier157 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/03/2005, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo