【发布时间】:2014-06-28 12:35:18
【问题描述】:
ALTER FUNCTION [dbo].[TabloGetir] (@id INT,
@ay INT,
@yil INT)
RETURNS TABLE
AS
RETURN
(SELECT ARACKM_ARAC_ID,
ARACKM_ID,
ARACKM_TARIHI,
ARACKM_KM,
A_PLAKA,
A_ID
FROM VARACKM
WHERE A_ID = @id
AND MONTH(ARACKM_TARIHI) = @ay
AND YEAR(ARACKM_TARIHI) = @yil)
这是我的表值函数,我一直收到这个错误,有人可以帮我吗?
这就是我所说的:
comm2 = New SqlCommand(@"select ARACKM_TARIHI, SUM(ARACKM_KM) AS TUTAR
from VARACKM
GROUP BY ARACKM_TARIHI
HAVING [dbo].[TabloGetir](@A_ID,@ay,@yil) ",conn2)
comm2.Parameters.Add("@A_ID", plakaId)
comm2.Parameters.Add("@ay", ay)
comm2.Parameters.Add("@yil", yil)
reader2 = comm2.ExecuteReader()
【问题讨论】:
-
在定义函数或调用函数时是否出现此错误?
-
我在调用它时收到此错误
-
所以请显示调用它的代码。
-
comm2 = New SqlCommand("select ARACKM_TARIHI, SUM(ARACKM_KM) AS TUTAR from VARACKM GROUP BY ARACKM_TARIHI HAVING [dbo].[TabloGetir](@A_ID,@ay,@yil) ",conn2)
-
你想用
HAVING [dbo].[TabloGetir](@A_ID,@ay,@yil)做什么?它不引用表中的任何列。
标签: sql sql-server sql-server-2008 function