create or replace
PROCEDURE MEN_LOGIN 
(
  ACCOUNT1 IN VARCHAR2 ,
  PWD IN VARCHAR2  ,
  LOGINFLAG OUT NUMBER  
) AS 
Begin 
if exists(select   *   from   [USERS]   where   [ACCOUNT1] =@ACCOUNT1  and [PWD]   = @ PWD ) then Set   @ LoginFlag =1 
 
else 
   
        Set   @ LoginFlag =0 
        End  if
     
   
End MEN_LOGIN;老报错  出现符号  “[” 在需要下列之一时 怎么回事啊  

解决方案 »

  1.   


    create or replace
    PROCEDURE MEN_LOGIN 
    (
      ACCOUNT1 IN VARCHAR2 ,
      PWD IN VARCHAR2  ,
      LOGINFLAG OUT NUMBER  
    )  is 
    Begin 
    if exists(select   *   from   [USERS]   where   [ACCOUNT1] =@ACCOUNT1  and [PWD]   = @ PWD ) then Set   @ LoginFlag =1; 
     
    else 
       
            Set   @ LoginFlag =0 ;
            End  if;
         
       
    End MEN_LOGIN;改成上面那样了 还是不行啊 
      

  2.   


    create or replace procedure men_login (
           account_in in varchar2,
           pwd_in in varchar2,
           loginflag out number)
    as
      v_sign number;
    begin
         select 1 into v_sign
         where exists(
               select * from users
               where account1=account_in and
                     pwd=pwd_in);
          if v_sign=1 then
             loginflag:=1;
          else
              loginflag:=0;
          end if;
          exception
          when others then
               dbms_output.put_line('errors');
    end men_login;
      

  3.   

    顶楼上,估计楼主是想把sqlserver上的过程改到oracle中吧
      

  4.   

    你这个事sqlserver的语法 
    跟oracle不一样的哦 
      

  5.   

    ORACLE的存储过程不是这样写滴吧?
      

  6.   


    CREATE OR REPLACE PROCEDURE MEN_LOGIN(IN_ACCOUNT1 IN VARCHAR2,
                                          IN_PWD      IN VARCHAR2,
                                          LOGINFLAG   OUT NUMBER) AS
    BEGIN
      IF (SELECT COUNT(*)
            FROM USERS
           WHERE ACCOUNT1 = IN_ACCOUNT1
             AND PWD = IN_PWD) > 1 THEN
        LOGINFLAG := 1;
      ELSE
        LOGINFLAG := 0;
      END IF;
    END MEN_LOGIN;
      

  7.   


    CREATE OR REPLACE PROCEDURE MEN_LOGIN(IN_ACCOUNT1 IN VARCHAR2,
                                          IN_PWD      IN VARCHAR2,
                                          LOGINFLAG   OUT NUMBER) AS
    BEGIN
      IF (SELECT COUNT(*)
            FROM USERS
           WHERE ACCOUNT1 = IN_ACCOUNT1
             AND PWD = IN_PWD) > 0 THEN
        LOGINFLAG := 1;
      ELSE
        LOGINFLAG := 0;
      END IF;
    END MEN_LOGIN;