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 :
Et j'ai l'erreur suivante :
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
SeJe n'arrive pas à résoudre ce problème
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.
Merci pour vos réponses
Partager