创建标量函数无法返回数据

时间:2013-10-11 05:43:19

标签: sql

使用简单参数

制作函数
create function test (@takesID as int)
returns nvarchar(50)
as
begin
  declare @num int
  set @num = 6
  SELECT        ID, Description_mm
  FROM            dbo.Win_Products
  WHERE        (ID = @takesID)
  return @num
end

获取消息:

Msg 444, Level 16, State 2, Procedure test, Line 7

函数中包含的Select语句无法将数据返回给客户端。

请帮助,谢谢你宝贵的时间,真的很感激。

SONU

2 个答案:

答案 0 :(得分:0)

好吧,问题与错误消息所说的完全一样,你不能在标量函数中返回结果集。

因此,您至少需要将值插入临时表,或者根本不需要选择。

create function test (@takesID as int)
returns nvarchar(50)
as
begin
  declare @num int
  set @num = 6

  return @num
end

答案 1 :(得分:0)

你想要回归什么? Description_mm或硬编码的@num?

如果您要返回说明,请尝试...

create function test (@takesID as int)
returns nvarchar(50)
as
begin
  declare @Description_mm nvarchar(50);
  SELECT        @Description_mm =  Description_mm
  FROM            dbo.Win_Products
  WHERE        (ID = @takesID);
  return @Description_mm;
end