比如:
传如一个参数是名字,就现在他的年龄 (名字不重复)
传入一个字符,返回一个数字
caeate function (@cname varchar(200))
RETURNS int 
AS
BEGIN
declare @sqlstr int;
set @sqlstr='select Age from User where UserName='+@cname
exec(@sqlstr);--------提示这个不能正确引用
RETURN(@sqlstr)
END为什么不对

解决方案 »

  1.   

    函数内不能使用EXEC来执行字符串.
      

  2.   

    caeate function (@cname varchar(200))
    RETURNS int 
    AS
    BEGIN
      declare @Age int;
      select @Age = Age from User where UserName = @cname
      RETURN @Age
    END
      

  3.   

    create写错create function (@cname varchar(200))
    RETURNS int 
    AS
    BEGIN
    declare @sqlstr int
    select @sqlstr=Age from User where UserName=@cname
    RETURN(@sqlstr)
    END
      

  4.   

    呵呵,问题多多阿
    create function (@cname varchar(200))
    RETURNS int 
    AS
    BEGIN
    declare @sqlstr int
    select @sqlstr=Age from User where UserName=@cname
    RETURN(@sqlstr)
    END