星君月

天下风云震巽动,我辈自在乾坤行。

添加新用户,判断是否已存在

小弟整理了下存储过程,关于添加新用户,判断用户名是否已存在于表中

蓝绿色字体是小弟编辑的注释 谢谢大家点评指教

DELIMITER $$

DROP PROCEDURE IF EXISTS `monitor`.`p_user_ Insertuser `$$  

#若存在同名存储过程先删除该存储过程monitor是数据库名 p_user_Insertuser是存储过程名(p_表明_操作+表明)

CREATE DEFINER=`liteng`@`%` PROCEDURE `p_user_Insertuser`(

          userName varchar(200)                         #DAL层(数据访问层)传入参数用户名

)

BEGIN

         declare id int default 0;                             #定义类型为int默认值为的变量id

         select USER_ID into id from monitor_user where USER_Name=userName and USER_State=1 limit 1;       

        #查找表中USER_Name列中等于参数userName且USER_State(用户状态,当用户被删除时,此值为0;存在时为1)为1的列,并将该数据主键放入变量id中

         if(!id) then                                              #如果不存在和变量userName相等的数据,即无此人注册过

             INSERT INTO  monitor_user  (USER_Name) VALUES(userName);                               

            #插入用户名为userName的数据

             select row_count();                              #返回影响的行数

         else

             select -1;                                           #若已存在该数据则返回-1

         end if;

    END$$

 

DELIMITER ;

posted on 2011-11-23 14:08  星君月  阅读(1470)  评论(9编辑  收藏  举报

导航