注册 登录
编程论坛 SQL Server论坛

返回字段数不确定的表类型的多语句函数

happynight 发布于 2011-03-17 17:26, 644 次点击

很少写函数 刚写了个函数 出错了 请帮忙查下错误在哪 应该怎样改
CREATE FUNCTION SplitCount(@BeginTime datetime,@EndTime datetime,@EmpID VARCHAR(10)='')
RETURNS  TABLE
AS
BEGIN
---------------------------------------------------------------------------程序代码
DECLARE @SQL AS VARCHAR(3000)
SET @SQL=''
        SELECT @SQL=@SQL+ 'SUM(CASE WHEN CHARINDEX(''' + 统计编号 + ''',ComplexCounts )>0 THEN 1 ELSE 0 END) ''' + 统计编号 + ''','
        FROM (SELECT 统计编号 FROM DefKqCoutDetail) AS a
        
        SELECT @SQL
        SET @SQL='SELECT Emp_ID,' + LEFT(@SQL,LEN(@SQL)-1) + ' FROM Report_Day WHERE sign_date BETWEEN ''' + @BeginTime + '''' + ' AND ''' +  @EndTime + ''''

        IF @EmpID<>''
           SET @SQL=@SQL+ ' AND Emp_ID = ''' + @EmpID + ''''
        SET @SQL=@SQL + ' GROUP BY Emp_ID'
--        PRINT @SQL
---------------------------------------------------------------------------程序代码
        RETURN (EXEC(@SQL))        
END



[ 本帖最后由 happynight 于 2011-3-17 17:29 编辑 ]
1 回复
#2
happynight2011-03-17 17:29
程序代码部分已经单独调试过了 没问题 关键就是创建函数的语法部分有问题
1