此代码给出错误:
消息156,级别15,状态1,过程DefaultActivity,第2行
关键字“RETURN”附近的语法不正确。
消息137,级别15,状态2,过程DefaultActivity,第3行
必须声明标量变量“@returnTable”。
消息1087,级别15,状态2,过程DefaultActivity,第18行
必须声明表变量“@returnTable”。
CREATE FUNCTION dbo.DefaultActivity
RETURNS
@returnTable table (
[VisitingCount] int,
[Time] nvarchar(50)
)
AS
BEGIN
DECLARE @DateNow DATETIME,@i int
set @DateNow='00:00'
set @i=1;
while(@i<1440)
begin
set @DateNow=DATEADD(minute, 1, @DateNow)
insert into @returnTable ([VisitingCount], [Time]) values(0, right(left(convert(nvarchar, @DateNow, 121), 16), 5))
set @i=@i+1
end
RETURN
END
答案 0 :(得分:3)
尝试指定一个空参数列表?
CREATE FUNCTION dbo.DefaultActivity()
RETURNS
...
答案 1 :(得分:0)
我想它应该是
CREATE FUNCTION dbo.DefaultActivity()
RETURNS -- RETURN vs RETURNS here
答案 2 :(得分:0)
这应该有效:
CREATE FUNCTION dbo.DefaultActivity ()
RETURNS @returnTable
TABLE
(
[VisitingCount] int,
[Time] nvarchar(50)
)
AS
BEGIN
DECLARE @DateNow DATETIME,@i int
set @DateNow='00:00'
set @i=1;
while(@i<1440)
begin
set @DateNow=DATEADD(minute, 1, @DateNow)
insert into @returnTable ([VisitingCount], [Time])
values(0, right(left(convert(nvarchar, @DateNow, 121), 16), 5))
set @i=@i+1
end
RETURN
END
GO
select * from dbo.DefaultActivity()