【发布时间】:2016-06-08 22:45:19
【问题描述】:
使用以下代码,我不断收到以下错误:
关键字“DECLARE”附近的语法不正确。
关键字“AS”附近的语法不正确。
任何帮助将不胜感激!
DROP PROCEDURE [dbo].[csp_WellTestValidationResultsTEST_GetData]
GO
CREATE PROCEDURE [dbo].[csp_WellTestValidationResultsTEST_GetData]
DECLARE @ColumnName varchar(max); --Column Name that Maps to AF Attribute
DECLARE @ColumnValue varchar(max); --Specific Value for that Column
DECLARE @LeftNumber varchar(50) = SUBSTRING(@ColumnValue,0,CHARINDEX('-',@ColumnValue,0));
DECLARE @RightNumber varchar(50) = SUBSTRING(@ColumnValue,CHARINDEX('-',@ColumnValue,0)+1,LEN(@ColumnValue));
DECLARE @API varchar(50) = SUBSTRING(@ColumnName,0,CHARINDEX('-',@ColumnName,0));
AS
BEGIN
SET NOCOUNT ON;
IF (@ColumnName = 'API14-2')
Exec('Select * from dbo.SSIS_RTRM_WellTestValidationResults where '+@API+' = '+@LeftNumber+' OR '+@API+' = '+@RightNumber+' order by TestDate Desc')
Else
Select * From dbo.SSIS_RTRM_WellTestValidationResults where WellId = ''
END
【问题讨论】:
-
如果您使用的是 SQL Server,
declares 会在begin之后。
标签: sql-server tsql stored-procedures