首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

创建存储过程的语法有关问题

2012-02-20 
创建存储过程的语法问题SQL codeCREATE PROCEDURE sign (IN user_mail CHAR(20),IN user_name CHAR(20),IN

创建存储过程的语法问题

SQL code
CREATE PROCEDURE sign (                       IN user_mail CHAR(20),                       IN user_name CHAR(20),                       IN user_pw   CHAR(20),                      OUT user_id   INT                      )BEGIN     -- 创建两个变量, 也就是这块提示有语法错误     DECLARE v_id INT(10);     DECLARE v_result INT(10) DEFAULT 0;     SELECT u_id FROM user WHERE u_mail = user_mail INTO v_id;     IF ( v_id IS NULL ) THEN         INSERT INTO user (u_mail, u_name, u_password, u_signTime)                   VALUES ('user_mail', 'user_name', 'user_pw', );         SELECT u_id FROM user WHERE u_mail = user_mail INTO v_result;     END IF;     SELECT v_result INTO user_id;END;


[解决办法]
SQL code
mysql> delimiter //mysql>mysql> CREATE PROCEDURE sign (    ->                        IN user_mail CHAR(20),    ->                        IN user_name CHAR(20),    ->                        IN user_pw   CHAR(20),    ->                       OUT user_id   INT    ->                       )    -> BEGIN    ->      -- 创建两个变量, 也就是这块提示有语法错误    ->      DECLARE v_id INT(10);    ->      DECLARE v_result INT(10) DEFAULT 0;    ->      SELECT u_id FROM user WHERE u_mail = user_mail INTO v_id;    ->      IF ( v_id IS NULL ) THEN    ->          INSERT INTO user (u_mail, u_name, u_password, u_signTime)    ->                    VALUES ('user_mail', 'user_name', 'user_pw', now);  -- acmain: missing the value for last column    ->          SELECT u_id INTO v_result FROM user WHERE u_mail = user_mail ; -- acmain: syntax is "select col into var ..."    ->      END IF;    ->      SELECT v_result INTO user_id;    -> END;    -> //Query OK, 0 rows affected (0.44 sec)mysql>
[解决办法]
INSERT INTO user (u_mail, u_name, u_password, u_signTime)
VALUES ('user_mail', 'user_name', 'user_pw', );

这句多了个,

热点排行