
创建外键时的选项
创建测试表
drop table studentdrop table classdrop table student_classCreate table student(student_id integer not null student_name varchar( ) CONSTRAINT P_KEY_ primary key (student_id)) in luzl_ k_tb index in luzl_ k_tb Create table class(class_id integer not null class_name varchar( ) CONSTRAINT P_KEY_ primary key (class_id)) in luzl_ k_tb index in luzl_ k_tb Create table student_class(student_class_id integer student_id integer class_id integer) in luzl_ k_tb index in luzl_ k_tbalter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICTalter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICTInsert into student(student_id student_name) values( luzl )Insert into class(class_id class_name) values( db )Insert into student_class(student_class_id student_id class_id) values( )
On Delete 的选项有
Restrict/no action/cascade/set null 其中cascade选项指定的话 如果删除父记录 依赖于他的子记录也会自动删除 相当于级联删除 如果指定no action和cascade都会报错 因为还有子记录所以无法删除该记录 set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null
On Update 只有两个选项 no action/restrict 它们在更新和删除时并没有区别:如果与子表关联不允许删除
lishixinzhi/Article/program/DB2/201311/21928C:\Documents and Settings\Administrator>db2 ? SQL1096N
说明:
在不支持该命令的节点上发出了命令,或者发现对此节点类型设置的系统环境不正确。例如,在客户机节点上数据库作为 LOCAL 来编目。
无法处理该命令。
用户响应:
验证对于该节点类型,命令和参数是否正确。还要验证处理命令所在的环境是否正确。重新提交该命令。
你重新建个实例试试。
使用db2look和db2move工具。1.首先利用db2look
-d
数据库名称
-e
-a
-l
-o
文件名.sql
导出数据库建库脚本
2.再利用db2move
数据库名称
export
导出数据库。
在到windows *** 作系统上
3.建库
4.修改并执行1中的脚本创建数据库中的对象。
5.使用db2move
数据库名称
load
导入上面导出的数据。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)