错误提示:因为其对象类型不兼容
CREATE FUNCTION fngetb2betrate (@set  nvarchar(50)) 
RETURNS nvarchar(50)
AS
BEGIN
RETURN
(
SELECT top 1 city
FROM m
WHERE mkname = @set
)
END

解决方案 »

  1.   

    city和 mkname 字段的类型是什么?
      

  2.   

    city和 mkname 字段的类型是也是nvarchar(50)
      

  3.   

    SELECT top 1 city
    FROM m
    WHERE mkname = @set
    语法是没有错误的,
    执行这条如果有错,那就是数据类型问题
    如果不是这条语句的,那么有可能是返回值。
      

  4.   

    CREATE FUNCTION fngetb2betrate (@set  nvarchar(50)) 
    RETURNS table
    AS
    BEGIN
    RETURN
    (
    SELECT top 1 city
    FROM m
    WHERE mkname = @set
    )
    END
    goor:CREATE FUNCTION fngetb2betrate (@set  nvarchar(50)) 
    RETURNS nvarchar(50)
    AS
    BEGIN
    declare @r nvarchar(50)
    SELECT top 1 @r=city
    FROM m
    WHERE mkname = @setreturn @r
    END
    go
      

  5.   

    原来是开始时建return table,不可以修改成RETURNS  nvarchar(50)
    删除了再建就OK了