Je suis en train de faire un procedure stocker que voici
Elle fonctionne tres bien sauf l'orsque que j'envois 2 pour iOrderBy.
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 CREATE PROCEDURE [dbo].[psListeAnnonceResume] @strEmailClient VARCHAR(100), @iOrderBy TINYINT AS SELECT top 10 dbo.tblAnnonce.PK_Annonce, dbo.tblAnnonce.strTitreAnnonce, dbo.tblAnnonce.curPriceAnnonce, dbo.tblAnnonce.dteAjoutAnnonce, dbo.tblAnnonce.dteLastUpdateAnnonce, autodb.tblCodePostal.strVilleCodePostal, autodb.tblCodePostal.decLatitudeCodePostal, autodb.tblCodePostal.decLongitudeCodePostal, tblLast.dteLastView FROM dbo.tblAnnonce LEFT OUTER JOIN (SELECT * FROM dbo.tblAnnonceClientLastView WHERE FK_Client = (SELECT PK_CLIENT FROM dbo.tblClient WHERE strEmailClient = @strEmailClient)) as tblLast ON dbo.tblAnnonce.PK_Annonce =tblLast.FK_Annonce LEFT OUTER JOIN autodb.tblCodePostal ON dbo.tblAnnonce.FK_CodePostal = autodb.tblCodePostal.PK_CodePostal WHERE (dbo.tblAnnonce.bVenduAnnonce = 0) AND (dbo.tblAnnonce.bDeleteAnnonce = 0) AND (dbo.tblAnnonce.bActiveAnnonce = 1) ORDER BY CASE WHEN @iOrderBy = 1 THEN dbo.tblAnnonce.dteAjoutAnnonce WHEN @iOrderBy = 2 THEN dbo.tblAnnonce.curPriceAnnonce WHEN @iOrderBy = 3 THEN dbo.tblAnnonce.dteLastUpdateAnnonce END GO
Je recois un messagepsListeAnnonceResume 'autoconsignation@gmail.com', 2
Jai essayer dans le SQL Quary Analyzer de refaire le meme sélect mais sans variable et tout fonctionne tres bien :SServer: Msg 8115, Level 16, State 2, Procedure psListeAnnonceResume, Line 7
Arithmetic overflow error converting expression to data type datetime.
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 SELECT top 10 dbo.tblAnnonce.PK_Annonce, dbo.tblAnnonce.strTitreAnnonce, dbo.tblAnnonce.curPriceAnnonce, dbo.tblAnnonce.dteAjoutAnnonce, dbo.tblAnnonce.dteLastUpdateAnnonce, autodb.tblCodePostal.strVilleCodePostal, autodb.tblCodePostal.decLatitudeCodePostal, autodb.tblCodePostal.decLongitudeCodePostal, tblLast.dteLastView FROM dbo.tblAnnonce LEFT OUTER JOIN (SELECT * FROM dbo.tblAnnonceClientLastView WHERE FK_Client = (SELECT PK_CLIENT FROM dbo.tblClient WHERE strEmailClient = 'autoconsignation@gmail.com')) as tblLast ON dbo.tblAnnonce.PK_Annonce =tblLast.FK_Annonce LEFT OUTER JOIN autodb.tblCodePostal ON dbo.tblAnnonce.FK_CodePostal = autodb.tblCodePostal.PK_CodePostal WHERE (dbo.tblAnnonce.bVenduAnnonce = 0) AND (dbo.tblAnnonce.bDeleteAnnonce = 0) AND (dbo.tblAnnonce.bActiveAnnonce = 1) ORDER BY dbo.tblAnnonce.curPriceAnnonce
Partager