I have A stored procedure written
DECLARE @AreaID AS INT
DECLARE @DayPrior AS INT
DECLARE @TableName AS VARCHAR(50)
DECLARE @StoreQuery AS NVARCHAR(MAX)
DECLARE @SQL_ExtractDlSql AS NVARCHAR(MAX)
DECLARE @ParameterDefinition AS NVARCHAR(2000)
SET @AreaID = 1
SET @DayPrior = 1
SET @TableName = 'Tbl_Lube'
SET @SQL_ExtractDlSql = 'SELECT Download_SQL From
HDDDataPackage.dbo.tbl_HDD_DataDownloadSetting
Where AreaId=@AreaID AND TableName=@TableName'
SET @ParameterDefinition = '@AreaID INT,@DayPrior INT,@TableName VARCHAR(50)'
EXECUTE sp_executesql @SQL_ExtractDlSql,
@ParameterDefinition,
@AreaID,
@DayPrior,
@TableName
PRINT @SQL_ExtractDlSql
I above Stored procedure, I get What I wanted on print, but instead of doing that, I wanted the selected data stores as a variable. Then what I done is I declared a variable @StoreSql and made some modified into the SQL statement show below:
Variable Declaration:
DECLARE @StoreSql AS NVARCHAR(MAX)
Modified the Code:
SET @SQL_ExtractDlSql = 'SELECT @StoreSql = Download_SQL From
HDDDataPackage.dbo.tbl_HDD_DataDownloadSetting
Where AreaId=@AreaID AND TableName=@TableName'
I executed the code, I get error Must declare the scalar variable "@StoreSql".
I have totally no idea how to deal with this.Any one can help.Beside,I am new to sqlserver,new to stored procedures.
Please don't hesitate to point out my any mistake,any..such as logic or etc. I learn from mistake.
Regards LiangCk