torlee 发表于 2018-10-8 10:20:56

Mysql 存储过程

  DROP PROCEDURE IF EXISTS `P_GET_CLASS_NAME`;

  CREATE PROCEDURE P_GET_CLASS_NAME(IN>  BEGIN
  IF(ID = 1) THEN
  SET NAME = '一班';
  END IF;
  IF(ID = 2) THEN
  SET NAME = '二班';
  END IF;
  END;
  DROP PROCEDURE IF EXISTS `P_INSERT_STUDENT`;

  CREATE PROCEDURE P_INSERT_STUDENT(IN>  BEGIN

  SET @ID =>  SET @NAME = NAME;

  SET @CLASSNO =>  SET @BIRTH = BIRTH;
  SET @CLASSNAME = NULL;
  CALL P_GET_CLASS_NAME(@CLASSNO,@CLASSNAME);
  SET @insertSql = CONCAT('INSERT INTO TBL_STUDENT VALUES(?,?,?,?)'); //合并sql 语句
  PREPARE stmtinsert FROM @insertSql;
  EXECUTE stmtinsert USING @ID,@NAME,@CLASSNAME,@BIRTH; //给sql 语句值
  DEALLOCATE PREPARE stmtinsert; //这是释放资源了 ,上一句的值
  END;
  CALL P_INSERT_STUDENT(1,'xy',1,'2012-10-01 10:20:01');

页: [1]
查看完整版本: Mysql 存储过程