函数中含有的 SELECT 语句无法向客户端返回数据。SELECT @id,SUM(value)这句我应该怎么改
createfunctionsumofsubnode()RETURNS@t_valueTABLE(IDINT,valueint)asbegindeclare@idintd...
create function sumofsubnode()
RETURNS @t_value TABLE(ID INT,value int)
as
begin
declare @id int
declare @valueofroot int
declare @maxid int
declare @value int
set @id =1
set @valueofroot=(select SUM(value) from test.dbo.table1)
set @maxid=(select MAX(id) from test.dbo.table1)
insert @t_value select @id,@valueofroot
set @id=@id+1
while( @id < @maxid )
begin
SELECT @id,SUM(value)
FROM test.dbo.table1 a,test.dbo.Caid(@id) b
WHERE a.ID=b.ID
insert @t_value select @id,@value
set @id=@id+1
end
return
end
go
怎样让SUM(VALUE)的值赋给一个变量@value 展开
RETURNS @t_value TABLE(ID INT,value int)
as
begin
declare @id int
declare @valueofroot int
declare @maxid int
declare @value int
set @id =1
set @valueofroot=(select SUM(value) from test.dbo.table1)
set @maxid=(select MAX(id) from test.dbo.table1)
insert @t_value select @id,@valueofroot
set @id=@id+1
while( @id < @maxid )
begin
SELECT @id,SUM(value)
FROM test.dbo.table1 a,test.dbo.Caid(@id) b
WHERE a.ID=b.ID
insert @t_value select @id,@value
set @id=@id+1
end
return
end
go
怎样让SUM(VALUE)的值赋给一个变量@value 展开
1个回答
展开全部
SELECT @value=SUM(value)
FROM test.dbo.table1 a,test.dbo.Caid(@id) b
这也是一种赋值形式,与set一样,不过比set灵活,因为可以批量赋值
FROM test.dbo.table1 a,test.dbo.Caid(@id) b
这也是一种赋值形式,与set一样,不过比set灵活,因为可以批量赋值
更多追问追答
追问
还是出现一样的错误提示。向变量赋值的 SELECT 语句不能与数据检索操作结合使用。
追答
提示的很清楚了。。你是不是SELECT @id,@value=SUM(value)这么写的啊
我特意去掉了你没注意吗,赋值的时候不能检索@id单独出现属于检索
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询