create function(name varchar(30))
return varchar(30)
begin
declare myresult varchar(30);
set myresult = select count(*) from qtz_user where name=qtz_name='admin';
if myresult=0
then
return set myresult='没有该用户’;
else
then
return set myresult='存在该用户’;
end if;
end
实际上就是想检验有无记录的函数,但是一直报语法错误,不知道哪里出了问题。

解决方案 »

  1.   

    -- 按这个改改,机器上没有环境,你试试
    create function(name varchar(30))
    return carchar(30)
    begin
    declare myresult varchar(30);
    declare rscount int ; 
    select rscount = count(*) from qtz_user where name=qtz_name='admin';
    if rscount =0
    then
    set myresult='没有该用户’;
    else
    then
    set myresult='存在该用户’;
    return myresult ; 
    end if;
    end
      

  2.   

    -- 改了一个半角的引号。
    create function(name varchar(30))
    return carchar(30)
    begin
    declare myresult varchar(30);
    declare rscount int ; 
    select rscount = count(*) from qtz_user where name=qtz_name='admin';
    if rscount =0
    then
    set myresult='没有该用户’;
    else
    then
    set myresult='存在该用户';
    return myresult ; 
    end if;
    end
      

  3.   

    create function(name varchar(30))
    return carchar(30)
    begin
    declare myresult varchar(30);
    declare rscount int ; 
    select rscount = count(*) from qtz_user where name=qtz_name='admin';
    if rscount =0
    then
    set myresult='没有该用户';
    else
    then
    set myresult='存在该用户';
    return myresult ; 
    end if;
    end
      

  4.   


    create table qtz_user
    (
     name varchar(30),
     qtz_name varchar(30)
    )create function fn_TG()
    returns varchar(30)
    as
    begin
      declare @myresult1 int,
              @myresult  varchar(30)
          set @myresult1 = (select count(*) from qtz_user where name='admin' and qtz_name='admin')
    if @myresult1='0'
    begin
        set @myresult='没有该用户'
    END
    else
    BEGIN
    set @myresult='存在该用户'
    END
    RETURN @myresult
    end
    go
      

  5.   

    谢谢!确实有明显的问题 参数定义的就有问题 myresult不该有两种功能,现在是then
    set myresult='存在该用户';这一块报错,不知道是什么问题,半角引号仔细检查过好像没什么问题
      

  6.   

    请问4楼是在mysql环境下编写的吗?好像是SQL sever的语法,貌似mysql不能用哎
      

  7.   

    好像前面的都已通过,后来报出一个“not allowed to return a result set from a function”的错误,不知道是什么情况