Erreur : La variable scalaire "@variable" doit être déclarée
Bonjour,
Désolé, la question est très certainement triviale mais je suis codeur SQL ...le dimanche :):( et je ne vois pas.
J'obtiens le message d'erreur en titre, bien que mon code contienne bien une instruction DECLARE.
Quelques détails :
Environnement MS-SQL 2005 sous éditeur Management Studio.
Je cherche à créer une vue avec deux dates en variables pour pouvoir obtenir différents champs et calculs de valeurs de stock en fonction d'une date initiale et une date finale de période.
L"idée est de pouvoir changer ces bornes très rapidement sans toucher le reste du code.
La requête est pour l'instant très simple, mais hormis ce problème de variable le reste ne devrais pas poser de problème. C'est pourquoi je teste cette partie.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| USE [POWER_SBO]
GO
/****** Objet*: View [dbo].[E_S_DATE] Date de génération du script*: 09/22/2013 13:02:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
DECLARE @InitDate Datetime
DECLARE @FinalDate Datetime
SET @InitDate = '01.04.2012'
SET @FinalDate = '31.03.2013'
GO
ALTER VIEW [dbo].[E_S_DATE]
AS
SELECT ItemCode, InQty, OutQty, DocDate
FROM dbo.ES
WHERE (ItmsGrpCod = '110') AND (DocDate BETWEEN @InitDate AND @FinalDate) |
Je me suis limité à ajouter les lignes 7 à 10
Code:
1 2 3 4
| DECLARE @InitDate Datetime
DECLARE @FinalDate Datetime
SET @InitDate = '01.04.2012'
SET @FinalDate = '31.03.2013' |
et à remplacer les deux dates dans la clause WHERE par les variables dans la vue créée par Management Studio qui elle, fonctionne.
merci à qui me mettra sur la piste.