1、主键的创建方法一:直接在sql语句中声明字段主键约束create table table_name (id type[length] constraint pk_name primary key,name tyoe[length],age type[length],class_id);方法二:alter更改表添加约束alter table table_name add constraint pk_name primary key (字段);删除:alter table table_name drop constraint contraint_name;重命名:alter table table_name rename constraint old_name to new_name;失效:alt...
1.查询所有表的外键的:select table_name, constraint_name from user_constraints where constraint_type = ‘R‘; 2.禁用所有外键约束, 使用下面的sql生成对应sql脚本:select ‘alter table ‘ || table_name || ‘ disable constraint ‘ || constraint_name || ‘;‘ from user_constraints where constraint_type = ‘R‘;生成的sql类似下面的语句:alter table BERTH disable constraint BERTH_FK;alter table BOLLARD disa...
一般情况下, Oracle 子表的外键需要添加索引, 如果外键不添加索引, 一下3种情况会导致 修改父表会锁住子表 1、更新父表主键, 一般情况下, Oracle 子表的外键需要添加索引,
如果外键不添加索引, 一下3种情况会导致 修改父表会锁住子表
1、更新父表主键,子表会被锁住
2、删除父表一行, 整个子表会被锁住
3、合并到父表,子表会被锁住。(9i,,10G是这样,11G不会)。
如果满足以下三种情况,则不需要在外键建立索引
1、没有...
怎样查外键建在哪个表上有时候删除某张表记录的时候,会报错外键约束不能删除。如果不了解表之间的关系,可以通过以下语句查询到外键是建在哪张表上的:select * from dba_constraints where constraint_name=‘xxx‘ and constraint_type = ‘R‘; 例如:我的程序日志中报如下错误,我要知道外键是在那个表上.2015-09-08 18:28:18 [ main:261597003 ] - [ ERROR ] java.sql.SQLException: ORA-02291: 违反完整约束条件 (IRP.FK66E...
Oracle主键和外键相关知识标签:oracle主键和外键本文系统来源:http://7642644.blog.51cto.com/7632644/1701757
create table 表名(字段 字段类型 能否为空,... ...
);
comment on column 表/字段 is 注释;
例子:
create table COMPANY
(COM_ID INTEGER not null,COM_NAME VARCHAR2(32) null,COM_ADDRESS VARCHAR2(100) null
);
二、创建主键/外键1,创建表的同时创建主键约束无命名
create table test1
(
id int primary key not null...
table Student(S# integer primary key, sname varchar2(20), age integer);(2)课程表,属性有课程号(主键)、课程名和学分:create table Course(C# integer primary key, cname varchar2(20), credit integer);(3)成绩表,属性有学号、课程号和分数,学号是学生表中学号外键、课程号是课程表中课程号外键:create table SC (S# integer foreign key (S#) references Student(S#) on delete cascadeC# integer foreign key (C#) re...
expdp:
SQL> create directory dir_tables as ‘/home/oracle/tables‘;
SQL> grant read,write on directory dir_tables to 用户名;
expdp system/system密码@SID tables=用户名.表名 directory=dir_tables dumpfile=tables.dmp logfile=tables.log
impdp:
SQL> create directory dir_tables as ‘/home/oracle/imp_tables‘;
SQL> grant read,write on directory dir_tables to sys;
impdp system/system密码 directory=dir_ta...
一、在表student中添加主键sno
二、在表course中添加主键cno和外键tno
三、在表teacher中添加主键tno
<img alt="技术分享" src="http://www.mamicode.com/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh8AAADpCAIAAAALa8KrAAAgAElEQVR4nO2d+3MVVdb3+y94f0pNzQ/zy5O3BJ9XqKcmYabmvcylCOgIijCZCXINAjLjjRgVkWuO+jga7hEj1whMBIOC441HJAIJBAVvQJA7EQiRcNWYgFbpPNXvD33S2WfvvVbv3fc+vT61iuqzz76sXnvt/e0+56QxzF4GDRq0dOnSjo6Ole...
table usertable(id int primary key,username varchar(32) not null,birthday date,sex char(1),address varchar(256));create table orders(id int primary key,user_id int not null,numberid varchar(32) not null,createtime date,note varchar(100),constraint fk_orders foreign key (user_id) references usertable(id)
); oracle 创建表 外键约束标签:date time user ble logs for constrain birt 约束 ...
添加主键约束:
ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID);
有三种形式的外键约束:
1、普通外键约束(如果存在子表引用父表主键,则无法删除父表记录)
2、级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除)
3、置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值)
这三种外键约束的建立语法...
1、主键的创建
方法一:直接在sql语句中声明字段主键约束
create table table_name (id type[length] constraint pk_name primary key,name tyoe[length],age type[length],class_id);
方法二:alter更改表添加约束
alter table table_name add constraint pk_name primary key (字段);
删除:
alter table table_name drop constraint contraint_name;
重命名:
alter table table_name rename constraint old_name to new_name;
...
ORACLE: 查询(看)表的主键、外键、唯一性约束和索引
1、查找表的所有索引(包括索引名,类型,构成列)
select t.*,i.index_type from user_ind_columns t,user_indexes i where
t.index_name = i.index_name and t.table_name = i.table_name and t.table_name
= 表名
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au where
cu.constraint_name = au.constraint_name and au....
1. ORACLE中查看表中的外键来源于哪些表select cl.table_name from user_cons_columns cl left join user_constraints c on cl.constraint_name = c.r_constraint_name where c.constraint_type = ‘R‘ and c.table_name = ‘表名‘
2.Oracle中查看表中的主键被被哪些表引用为外键
ORACLE中查看表中的外键来源于哪些表标签:引用 表名 user table bsp str int where 查看 本文系统来源:http://www.c...
1)如果更新了父表的主键(倘若遵循关系数据库的原则,即主键应当是不可变的,这种情况就很少见),由于外键上没有索引,所以子表会被锁住。
2) 如果删除了父表中的一行,整个子表也会被锁住(由于外键上没有索引)。
除了全表锁外,在以下情况下,未加索引的外键也可能带来问题:
1) 如果有ON DELETE CASCADE,而且没有对子表加索引:例如,EMP是DEPT的子表,DELETE DEPTNO = 10应该CASCADE(级联)至EMP。如果EMP中的DEPTNO没...