Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2794830
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: Mysql/postgreSQL

2012-03-19 21:26:26


  1. 1)按照11.5小节的内容来创建teacher表,并插入记录。
  2. 创建teacher表的代码如下:
  3. CREATE TABLE teacher(
  4.     id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
  5.     num INT(10) NOT NULL UNIQUE ,
  6.     name VARCHAR(20) NOT NULL ,
  7.     *** VARCHAR(4) NOT NULL ,
  8.     birthday DATETIME ,
  9.     address VARCHAR(50)
  10.     );

  11. 然后向teacher表中插入记录。INSERT语句的代码如下:
  12. INSERT INTO teacher VALUES(1, 1001, '张三','男' ,'1984-11-08' ,'北京市昌平区');
  13. INSERT INTO teacher VALUES
  14.     (2, 1002, '李四','女' ,'1970-01-21' ,'北京市海淀区') ,
  15.     (NULL, 1003, '王五','男' ,'1976-10-30' ,'北京市昌平区') ,
  16.     (NULL, 1004, '赵六','男' ,'1980-06-05' ,'北京市顺义区') ;

  17. (2)创建存储过程teacher_info1。有。代码如下:

  18. CREATE PROCEDURE
  19.  teacher_info1 (IN teacher_id INT,IN type INT, OUT info VARCHAR(20) )
  20.    READS SQL DATA
  21.    BEGIN
  22.     CASE type
  23.     WHEN 1 THEN
  24.      SELECT name INTO info FROM teacher WHERE id=teacher_id;
  25.     WHEN 2 THEN
  26.      SELECT YEAR(NOW())-YEAR(birthday) INTO info
  27.      FROM teacher WHERE id=teacher_id;
  28.     ELSE
  29.      SELECT 'Error' INTO info;
  30.     END CASE;
  31.    END

  32. (3)调用存储过程。CALL语句的代码如下:
  33. CALL teacher_info1(2,1,@info);

  34. 查询存储过程输出的值。SELECT语句的代码如下:
  35. SELECT @info;

  36. (4)使用DROP PRODECURE语句来删除存储过程。代码如下:
  37. DROP PROCEDURE teacher_info1;

阅读(841) | 评论(0) | 转发(0) |
0

上一篇:mysql 存储过程

下一篇:mysql 游标

给主人留下些什么吧!~~