[20151231]主外键与空表(12c).txt

[20151231]主外键与空表(12c).txt

--主外键的测试例子很多,今天做一个特别的,外部键表为空,也会出现阻塞吗?测试看看。

1.建立环境:
SCOTT@test01p> @ver1
PORT_STRING                    VERSION        BANNER                                                                               CON_ID
------------------------------ -------------- -------------------------------------------------------------------------------- ----------
IBMPC/WIN_NT64-9.1.0           12.1.0.1.0     Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0

create table p ( x int primary key );
create table c ( x references p );
insert into p values ( 1 );
insert into p values ( 2 );
commit;

2.开始测试:
--session 1:
SCOTT@test01p> @spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
        18          3 5860        68          2 alter system kill session '18,3' immediate;

SCOTT@test01p> insert into p values ( 3 );
1 row created.

--session 2:
SCOTT@test01p> @ spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
       374         45 5836        55         20 alter system kill session '374,45' immediate;

SCOTT@test01p> UPDATE p SET x=2 WHERE x=2;
1 row updated.

--没有出现阻塞!!可以发现12c下不会阻塞

SCOTT@test01p> @viewlock
   SID    SERIAL# USERNAME   OSUSER     MACHINE    MODULE       LOCK_TYPE    MODE_HELD  MODE_REQUE LOCK_ID1   LOCK_ID2   OWNER  OBJECT_TYP OBJECT_NAME          BLOCK LOCKWAIT
------ ---------- ---------- ---------- ---------- ------------ ------------ ---------- ---------- ---------- ---------- ------ ---------- -------------------- ----- ------------------
    18          3 SCOTT      XXX\Admini WORKGROUP\ SQL*Plus     Transaction  Exclusive  None       65544      20677      SYS    JAVA CLASS /c6d93ee4_JobMediaSh No
                             strator    XXX                                                                                                eetsSuppor

   374         45 SCOTT      XXX\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-X (SX) None       104471     0          SCOTT  TABLE      P                    No
                             strator    XXX

    18          3 SCOTT      XXX\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-X (SX) None       104471     0          SCOTT  TABLE      P                    No
                             strator    XXX

    18          3 SCOTT      XXX\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-S (SS) None       104473     0          SCOTT  TABLE      C                    No
                             strator    XXX

   374         45 SCOTT      XXX\Admini WORKGROUP\ SQL*Plus     Transaction  Exclusive  None       393225     21293                                             No
                             strator    XXX

--/c6d93ee4_JobMediaSheetsSuppor 有时候出现有时候不出现,不知道为什么?正常应该出现这样(重复测试)

SCOTT@test01p> @viewlock
   SID    SERIAL# USERNAME   OSUSER     MACHINE    MODULE       LOCK_TYPE    MODE_HELD  MODE_REQUE LOCK_ID1   LOCK_ID2   OWNER  OBJECT_TYP OBJECT_NAME          BLOCK LOCKWAIT
------ ---------- ---------- ---------- ---------- ------------ ------------ ---------- ---------- ---------- ---------- ------ ---------- -------------------- ----- -------------------
   374         45 SCOTT      xxx\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-X (SX) None       104471     0          SCOTT  TABLE      P                    No
                             strator    xxx

    18          3 SCOTT      xxx\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-X (SX) None       104471     0          SCOTT  TABLE      P                    No
                             strator    xxx

    18          3 SCOTT      xxx\Admini WORKGROUP\ SQL*Plus     DML(TM)      Row-S (SS) None       104473     0          SCOTT  TABLE      C                    No
                             strator    xxx

   374         45 SCOTT      xxx\Admini WORKGROUP\ SQL*Plus     Transaction  Exclusive  None       131076     21976                                             No
                             strator    xxx

    18          3 SCOTT      xxx\Admini WORKGROUP\ SQL*Plus     Transaction  Exclusive  None       196610     22264                                             No
                             strator    xxx

时间: 2024-09-06 20:40:16

[20151231]主外键与空表(12c).txt的相关文章

[20151231]主外键与空表.txt

[20151231]主外键与空表.txt --主外键的测试例子很多,今天做一个特别的,外部键表为空,也会出现阻塞吗?测试看看. 1.建立环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------

[20160719]主外键与延迟约束2.txt

[20160719]主外键与延迟约束2.txt --前几天遇到的问题,因为开发没有在2个存在主外键上的表上建立约束,导致主表记录删除了,而外表数据还在. --主要开发有需求要删除主表的记录,由于条件写错,导致以上情况出现.实际上oracle支持延迟约束,只有提交的时候才会检查. --自己通过例子说明: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ---------------

[20121020]主外键约束以及NULL问题.txt

[20121020]主外键约束以及NULL问题.txt 主外键约束可以一定程度保证数据完整性,但是如果外键输入的是NULL,情况会如何呢? SQL> select * from v$version ; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 6

[20160716]主外键与延迟约束.txt

[20160716]主外键与延迟约束.txt --前几天遇到的问题,因为开发没有在2个存在主外键上的表上建立约束,导致主表记录删除了,而外表数据还在. --主要开发有需求要删除主表的记录,由于条件写错,导致以上情况出现.实际上oracle支持延迟约束,只有提交的时候才会检查. --自己通过例子说明: 1.环境: SCOTT@test01p> @ ver1 PORT_STRING           VERSION    BANNER                                

在PowerDesigner中设计物理模型1——表和主外键

原文:在PowerDesigner中设计物理模型1--表和主外键 在PD中建立物理模型由以下几种办法: 直接新建物理模型. 设计好概念模型,然后由概念模型生成物理模型. 设计好逻辑模型,然后由逻辑模型生成物理模型. 使用逆向工程的方法,连接到现有的数据库,由数据库生成物理模型. 物理模型能够直观的反应出当前数据库的结构.在数据库中的表.视图.存储过程等数据库对象都可以在物理模型中进行设计.由于物理模型和数据库的一致性,接下来以数据库对象和物理模型对象的对应来一一介绍: 表 新建物理模型时需要指定

城市,区县,地址,没有主外键区分,没有父级ID,所以数据在一个表如何实现级联查询?

问题描述 城市,区县,地址,没有主外键区分,没有父级ID,所以数据在一个表如何实现级联查询? 城市,区县,地址,没有主外键区分,没有父级ID,所以数据在一个表如何实现级联查询? 解决方案 一般这样的情况都是三张表.如果你要放在一张表里面,那么你肯定会有一个父级ID的呀.不然怎么区分,怎么级联? 解决方案二: 都在一个表,我也很纳闷,接手的项目数据库是这样,表示压力好大 解决方案三: 一般不是全在一张表,用level和parentId来区分关联:就是三张表,parentId关联. 没有parent

mysql-怎么用程序保证表之间的关联,而不是主外键?

问题描述 怎么用程序保证表之间的关联,而不是主外键? 今天看到这个问题有点疑惑:网上说为了保证数据操作及维护,不建立任何外键,用程序保证关联关系,不建立任何外键关系我明白了,但不知道怎么用程序保证关联关系,,这句话是什么场景,又怎么保证联表查询那??? 解决方案 因为表之间有外检关系的话,数据的读写都会有相对程度的性能影响. 程序来保证起关联就是,增加的时候一起增加,删除的时候一起删除,所有的关联逻辑用程序来管理就可以了.

探讨SQL利用INFORMATION_SCHEMA系统视图如何获取表的主外键信息_Mysql

接着上篇文章<解析SQL 表结构信息查询 含主外键.自增长>里面提到了INFORMATION_SCHEMA视图,其实到了SQL 2005微软都主推大家使用INFORMATION_SCHEMA系统视图,而不是在使用sys东东了,当然目前还是有许多信息只能通过sys视图来查询.这里我们还是以查询表结果信息为例来说明一些主要的INFORMATION_SCHEMA视图的使用.首先我们需要查询列的信息,这需要用到[INFORMATION_SCHEMA].[COLUMNS]系统视图来查询数据列的信息,SQ

C# 数据库dataGridView刷新数据和主外键判断

本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改.删除.插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会判断数据的主键是否存在或重复,判断外键是否重复,这几个问题我推荐使用函数的形式完成,同时推荐一个操作格式,下面将详细介绍. 一.dataGridView刷新数据 如下图所示,在数据库中删除一个数据或插入一个数据,我们都希望能够在左边的dataGridView控件中显示操作后的内容,而使用dataGr