ERP俱乐部
ERP爱好者、ERP从业者互相交流、互相学习的乐园;我们的愿景是成为全球一流的中文ERP(Enterprise Resource Planning)交流平台
网站首页 论坛首页 搜索 用户列表 FAQ 注册 登录  
ERP俱乐部 -> 数据库专栏 -> DB2数据库 -> DB2建表新体验!
  DB2建表新体验!
帖子发起人: charlieokok   发起时间: 2007-09-23 09:56 上午   回复数: 0
? 上一主题 下一主题 ?
楼主
  2007-09-23, 09:56 上午
charlieokok 离线,最后访问时间: 2009/2/8 13:50:49 charlieokok

发帖数前10位
男

130级
等级: 130级
注册: 2007年8月3日
区域: 上海浦东
经验: 12,450
积分: 8,738
精华: 0
发贴: 2,427
排名: 2
Global ModeratorsSite ModeratorsSite Registered Users每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星每日发帖之星
DB2建表新体验!
 

DB2建表新体验!

最近看到资料,对建表有了进一步认识,原来建表还可以这样建立。写下来,做个记录。
CREATE TABLE payroll
( employee_id INT NOT NULL
, base_salary DOUBLE
, bonus DOUBLE
, commission DOUBLE
, total_pay DOUBLE GENERATED ALWAYS AS
            (base_salary*(1+bonus) + commission)
)


INSERT INTO payroll VALUES (1, 100, 0.1, 20, DEFAULT); 或者
INSERT INTO payroll (employee_id, base_salary, bonus, commission) VALUES (1, 100, 0.1, 20); 这样就是建表的时候加入了计算了。省好多事情。很方便。



复杂的如下:
CREATE TABLE payroll2 ( employee_id INT NOT NULL , employee_type CHAR(1) NOT NULL , base_salary DOUBLE , bonus DOUBLE , commission DOUBLE , total_pay DOUBLE GENERATED ALWAYS AS ( CASE employee_type WHEN 'B' THEN base_salary*(1+bonus) WHEN 'C' THEN (base_salary + commission) ELSE 0 END ) ) 

-
分享按钮 IP 地址: 已登录   来自: 已登录    返回顶部
 第 1 页 总共 1 页 [共有 1 条记录]
ERP俱乐部 -> 数据库专栏 -> DB2数据库 -> DB2建表新体验!
(C)Copyright 2005-2020 www.erpclub.org All Rights Reserved.
Tel:+86-755-26444630
Email:webmaster@yok.com.cn