首页 > 解决方案 > 如何修复返回附近的不正确语法

问题描述

我正在尝试从员工表中获取员工等级并根据等级设置值并返回一个整数值,但是由于返回附近的语法不正确,我在第二行出现错误我正在尝试学习 sql server

 create procedure checkgrade(@empid int)
    returns int
    as 
    begin
        declare @cgrade char(1)
        declare @rint int
            select @cgrade=grade from employee where @empid=empid
            if @cgrade='M' set @rint =1
            else if  @cgrade='L' set @rint=2
            else if @cgrade='T' set @rint=3
            else if @cgrade='X' set @rint= 4
            else set @rint=0
        return @rint
    end;

标签: sqlsql-server

解决方案


您在过程中使用了函数的语法。

create Function checkgrade(@empid int)
returns int
as 
begin
    declare @cgrade char(1)
    declare @rint int
        select @cgrade=grade from employee where @empid=empid
        if @cgrade='M' set @rint =1
        else if  @cgrade='L' set @rint=2
        else if @cgrade='T' set @rint=3
        else if @cgrade='X' set @rint= 4
        else set @rint=0

    return @rint
end;

推荐阅读