ALTER PROCEDURE Login  
@id   varchar(20), 
@pass   varchar(20), 
@num   int   output 
AS
if((SELECT     COUNT(*)
    FROM         student
    WHERE     (Stud_No = @id) AND (Stud_Password = @pass))> 0) 
   @num=0
   else
   @num=1  
return   @num;
保存时提示 第9行语法不符

解决方案 »

  1.   

    SET @i int
    SELECT @i = COUNT(*) FROM student WHERE Stud_No = @id AND Stud_Password = @pass
    if( @i > 0)   
       @num=0 
    else 
       @num=1 试试看
      

  2.   

    alter  PROCEDURE   Login     
    @id       varchar(20),   
    @pass       varchar(20),   
    @num       int       output   
    AS 
    declare @sql varchar(256)
    declare @intcount int
    set @sql='SELECT    COUNT(*)   into @intcount FROM    student 
     WHERE    Stud_No   =   @id   AND   Stud_Password   =   @pass'
         exec   @sql
     if @intcount>0 
      set @num=1
    else
     set @num=0
    return    @num; 
      

  3.   

    ALTER   PROCEDURE   Login     
    @id       varchar(20),   
    @pass       varchar(20),   
    @num       int       output   
    AS 
    if((SELECT           COUNT(*) 
            FROM                   student 
            WHERE           (Stud_No   =   @id)   AND   (Stud_Password   =   @pass))>   0)   
          @num=0 
          else 
          @num=1     
    return       @num; 
    保存时提示   第9行语法不符改为
     set @num=0 
          else 
          set @num=1   
      

  4.   

    ALTER   PROCEDURE   Login     
    @id  varchar(20),   
    @pass varchar(20),   
    @num int output   
    AS 
    declare @i int
    select @i=COUNT(*) FROM student WHERE (Stud_No   =   @id)AND (Stud_Password= @pass))
    if(@i> 0)   
      set @num=0 
    else 
     set @num=1   return  @num;