Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 必须声明标量变量吗?_Sql Server 2005 - Fatal编程技术网

Sql server 2005 必须声明标量变量吗?

Sql server 2005 必须声明标量变量吗?,sql-server-2005,Sql Server 2005,局部变量@bdename等不在动态SQL的作用域中 您应该使用来正确地参数化它们。不要连接它们 ALTER PROCEDURE selectedrfp @from datetime, @to datetime, @bdename varchar(max), @status int AS BEGIN DECLARE @query varchar(max) set @query=' SELECT RS.[RFP_ICode] ,RS.[Client_ICode] ,RS.[C

局部变量@bdename等不在动态SQL的作用域中

您应该使用来正确地参数化它们。不要连接它们

ALTER PROCEDURE selectedrfp
@from datetime,
@to datetime,
@bdename varchar(max),
@status int
AS
BEGIN
DECLARE @query varchar(max)
set @query='
SELECT RS.[RFP_ICode]
      ,RS.[Client_ICode]
      ,RS.[Client_Name]
      ,RS.[Project_Title]
      ,RS.[Client_Country]
      ,RS.[RFP_Technology]
      ,RS.[RFP_Received_Date] 
      ,RS.[Cgvak_Comh_WishList]
        FROM dbo.Cgvak_RFP_Status AS RS
           INNER JOIN CGVAK_RFP_Status_Master AS RSM
           ON RSM.[RFP_Status_Icode]=RS.[RFP_Status]
           INNER JOIN CGVAK_RFP_Users AS RU
           ON RU.[RFP_User_ICode]=RS.[BDE_Icode]
         WHERE RS.[Cgvak_Comh_WishList]=1 
           AND RS.[RFP_Received_Date] BETWEEN @from  AND @to
--           AND RS.[BDE_Name]=@bdename 
           AND RSM.[RFP_Status_ICode]=@status
           AND RU.[RFP_User_Type] IN(1,2,3)'
DECLARE @withoutbde varchar(max)
SET @withoutbde='ORDER BY RS.[RFP_Received_Date] DESC'
DECLARE @withbde varchar(max)
SET @withbde='AND RS.[BDE_Name]=@bdename ORDER BY RS.[RFP_Received_Date] DESC'
IF(@bdename='All')
EXEC (@query + @withoutbde )
ELSE IF(@bdename!='All') 
EXEC (@query + @withbde )
END

EXEC selectedrfp @from='2010/01/01',@to='2011/06/22',@bdename='chad',@status=4