教你快速掌握DB2数据库创建外键时的选项

教你快速掌握DB2数据库创建外键时的选项,第1张

   免费看《Windows CE 嵌入式系统开发 从基础到实践》

创建外键时的选项

创建测试表

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/21928

C:\Documents and Settings\Administrator>db2 ? SQL1096N

SQL1096N 对于此节点类型,该命令无效。

说明:

在不支持该命令的节点上发出了命令,或者发现对此节点类型设置的系统环境不正确。例如,在客户机节点上数据库作为 LOCAL 来编目。

无法处理该命令。

用户响应:

验证对于该节点类型,命令和参数是否正确。还要验证处理命令所在的环境是否正确。重新提交该命令。

你重新建个实例试试。

使用db2look和db2move工具。

1.首先利用db2look

-d

数据库名称

-e

-a

-l

-o

文件名.sql

导出数据库建库脚本

2.再利用db2move

数据库名称

export

导出数据库。

在到windows *** 作系统上

3.建库

4.修改并执行1中的脚本创建数据库中的对象。

5.使用db2move

数据库名称

load

导入上面导出的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10028813.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存