您好,欢迎访问一九零五行业门户网

DB2视图、序列、约束、外键练习测试_PHP教程

db2视图、序列、约束、外键练习测试简单视图:
db2 => create view myview1 as select * from t1 where empnodb20000i sql 命令成功完成。
db2 => select * from myview1
empno name seqno
----------- ---------- -----------
10 wan qi 1
30 xu xin 3
50 bbbb 6
3 条记录已选择。
简单序列
db2 => create sequence myseq start with 1 increment by 1 cache 5
db20000i sql 命令成功完成。
db2 => insert into tank1 values(nextval for myseq,'asdf')
db20000i sql 命令成功完成。
db2 => select * from tank1
id name
----------- ----------
2 asdf
3 asdf
4 asdf
5 asdf
6 asdf
7 asdf
8 asdf
简单约束实验
create table employee
(
id integer not null constraint id_pk primary key,
name varchar(9),
dept smallint constraint dept_ck1
check (dept between 10 and 100),
job char(5) constraint dept_ck2
check (job in('sales','mgr','clerk')),
hiredate date,
salary decimal(7,2),
constraint yearsal_ck
check (year(hiredate) > 1986 or salary > 40000 )
)
[db2inst2@localhost ~]$ db2 insert into employee values(1,'asdf',11, 'sales','1788-02-10',40100)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(1,'asdf',13, 'sales','1788-02-10',40100)
db21034e 该命令被当作 sql
语句来处理,因为它是无效的“命令行处理器”命令。在 sql
处理期间,它返回:
sql0803n insert 语句、update 语句或由 delete
语句导致的外键更新中的一个或多个值无效,因为由 1
标识的主键、唯一约束或者唯一索引将表 db2inst2.employee
的索引键限制为不能具有重复值。 sqlstate=23505
[db2inst2@localhost ~]$ db2 insert into employee values(2,'asdf',101, 'sales','1788-02-10',40100)
db21034e 该命令被当作 sql
语句来处理,因为它是无效的“命令行处理器”命令。在 sql
处理期间,它返回:
sql0545n 因为行不满足检查约束
db2inst2.employee.dept_ck1,所以不允许所请求的操作。
sqlstate=23513
[db2inst2@localhost ~]$ db2 insert into employee values(2,'asdf',99, 'sales','1788-02-10',40100)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(3,'asdf',99, 'kales','1788-02-10',40100)
db21034e 该命令被当作 sql
语句来处理,因为它是无效的“命令行处理器”命令。在 sql
处理期间,它返回:
sql0545n 因为行不满足检查约束
db2inst2.employee.dept_ck2,所以不允许所请求的操作。
sqlstate=23513
[db2inst2@localhost ~]$ db2 insert into employee values(3,'asdf',99, 'sales','1788-02-10',40100)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(4,'asdf',98, 'mgr','1788-02-10',40100)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(5,'asdf',98, 'mgr','1987-02-10',40)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(6,'asdf',98, 'mgr','1984-02-10',40)
db21034e 该命令被当作 sql
语句来处理,因为它是无效的“命令行处理器”命令。在 sql
处理期间,它返回:
sql0545n 因为行不满足检查约束
db2inst2.employee.yearsal_ck,所以不允许所请求的操作。
sqlstate=23513
[db2inst2@localhost ~]$ db2 insert into employee values(6,'asdf',98, 'mgr','1981-02-10',41000)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee values(6,'asdf',98, 'mgr','1981-02-10',41000)
简单主外键测试
1、查看约束:
select * from syscat.tabconst
2、新建父表:
create table shopper.salesboys(sid int not null, name
varchar(40) not null, salary double not null, constraint
pk_boy_id primary key (sid));
3、新建子表:
create table employee.salesboys(
sid int,
name varchar(30) not null,
phone int not null,
constraint fk_boy_id
foreign key(sid)
references shopper.salesboys (sid)
on delete restrict //限制删除
);
4、父表插入数据,,
[db2inst2@localhost ~]$ more inste2.sql
insert into shopper.salesboys values(100,'raju',20000.00),
(101,'kiran',15000.00),
(102,'radha',10000.00),
(103,'wali',20000.00),
(104,'rayan',15000.00)
;
5、子表插入数据
[db2inst2@localhost ~]$ more inste3.sql
insert into employee.salesboys values(100,'raju',98998976),
(101,'kiran',98911176),
(102,'radha',943245176),
(103,'wali',89857330),
(104,'rayan',89851130);
6、测试外建约束:
[db2inst2@localhost ~]$ db2 insert into employee.salesboys values(103,'rayan',89851130)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee.salesboys values(109,'rayan',89851130)
db21034e 该命令被当作 sql
语句来处理,因为它是无效的“命令行处理器”命令。在 sql
处理期间,它返回:
sql0530n foreign key employee.salesboys.fk_boy_id
的插入或更新值不等于父表的任何父键值。 sqlstate=23503
[db2inst2@localhost ~]$
7、删除外建测试
[db2inst2@localhost ~]$ db2 alter table employee.salesboys drop foreign key fk_boy_id
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$ db2 insert into employee.salesboys values(109,'rayan',89851130)
db20000i sql 命令成功完成。
[db2inst2@localhost ~]$
http://www.bkjia.com/phpjc/1075174.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1075174.htmltecharticledb2视图、序列、约束、外键练习测试 简单视图: db2 => create view myview1 as select * from t1 where empno db20000i sql 命令成功完成。 db2 => select * from...
其它类似信息

推荐信息