论坛首页 综合技术论坛

postgersql-继承

浏览 1543 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-06   最后修改:2010-06-28

声明:本PostgreSQL系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

继承有用,但没有集成唯一约束或者外键。

以student(学生)和student_union_manager(学生会干部)为例

创建学生会干部数据表继承自student。

mydb=# create table student_union_manager(
mydb(# department varchar(20),
mydb(# excellences varchar(200),
mydb(# duty varchar(100)
mydb(# ) inherits(student);
CREATE TABLE

增加数据
mydb=# insert into student_union_manager values('王五',25,3,'man','体育部','组织
能力,跳高','组织日常体育活动,副部长');
INSERT 0 1
mydb=# insert into student_union_manager values('李白',23,2,'man','体育部','程序
设计,协调能力强,唱歌','组织日常团活动,部长');
INSERT 0 1
mydb=# insert into student_union_manager values('李国',24,1,'woman','宣传部','组
织能力','进行宣传,副部长');
INSERT 0 1

显示学生会干部所有数据
mydb=# select * from student_union_manager
mydb-# ;
 name | age | city |  sex  | department |        excellences         |
duty
------+-----+------+-------+------------+----------------------------+----------
---------------
 王五 |  25 |    3 | man   | 体育部     | 组织能力,跳高             | 组织日常
体育活动,副部
 李白 |  23 |    2 | man   | 体育部     | 程序设计,协调能力强,唱歌 | 组织日常
团活动,部
 李国 |  24 |    1 | woman | 宣传部     | 组织能力                   | 进行宣传,
副部长
(3 rows)

显示所有学生及其干部
mydb=# select * from student;
    name    | age | city |  sex
------------+-----+------+-------
 艾丝凡     |  18 |    3 |
 萨芬       |  19 |    3 |
 未来       |  20 |    2 | man
 干哈       |  18 |    2 | man
 deepfuture |  20 |    1 | woman
 张三       |  21 |    1 | woman
 王五       |  25 |    3 | man
 李白       |  23 |    2 | man
 李国       |  24 |    1 | woman
(9 rows)

仅显示学生student
mydb=# select * from only student
mydb-# ;
    name    | age | city |  sex
------------+-----+------+-------
 艾丝凡     |  18 |    3 |
 萨芬       |  19 |    3 |
 未来       |  20 |    2 | man
 干哈       |  18 |    2 | man
 deepfuture |  20 |    1 | woman
 张三       |  21 |    1 | woman
(6 rows)


mydb=#

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics