--创建函数dbo.RPT_MONTH_TSTRBCYC
CREATE FUNCTION dbo.RPT_MONTH_TSTRBCYC( @V_RPT_MONTH INT)
RETURNS #TTS_SYSTEM_DATE TABLE (SD_DATE INT) AS
BEGIN
--创建临时表#TTS_SYSTEM_DATE
CREATE TABLE [dbo].#TTS_SYSTEM_DATEWITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
DECLARE @i DATETIME
DECLARE @today SMALLDATETIME
DECLARE @year INT,@y INT
SET @y =1 -- 起始1年
SET @i= DATEADD(d,1-DATEPART(dy,GETDATE()),GETDATE())
----开始遍历N年
WHILE @y <=4 --如果@y=2,即插入2年日期记录
BEGIN
--当前年份的当天
SET @i= CONVERT(NVARCHAR(100), DATEADD(yy, 0,@i), 112)
SET @year=DATEPART(yy,@i)
----开始遍历当前年份
WHILE(DATEPART(yy,@i) = @year)
BEGIN
--当天
SET @today = CONVERT(NVARCHAR(100), DATEADD(m,1,@i),112)
--判断当天日期是否存在
INSERT INTO #TTS_SYSTEM_DATE VALUES (CAST(CONVERT(NVARCHAR(100), @i, 112) AS INT)/100)
SET @i=@today
END
----结束遍历当前年份
SET @y = @y + 1
END
----结束遍历N年
DELETE FROM #TTS_SYSTEM_DATE WHERE SD_DATE >@IN_DATE+300
RETURN
END
这是我存储过程里创建的一个函数,提示:消息 156,级别 15,状态 1,过程 SP_GET_TSTRBCYC,第 147 行
关键字 'FUNCTION' 附近有语法错误。