oracle添加两个约束,Oracle添加表约束的2种方法
Oracle添加表约束的2种方法
方法一、在列的级别上定义约束
create table product (
Pname varchar2(20) unique,
Pdate date not null,
PID number(5) primary key,check(PID>10000 AND PID<=99999),
Ploc char(30) default '北京')
要点就是在列的结尾直接添加,如果同一列有多个约束,通过逗号来分隔
有个问题,通过数字字典来查询约束,我们得到的是系统提供的名字并且约束的类型不好区分。
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CONSTRAINT_TYPE
------------------------------------------------------------ --
SYS_C009539 C
SYS_C009540 C
SYS_C009541 P
SYS_C009542 U
U:表示unique
P:primary key
C:check或者default
查看列的默认值:
SQL> select column_name,datA_dEfault from useR_tab_columns where table_name = 'PRODUCT';
COLUMN_NAME DATA_DEFAULT
------------------------------------------------------------ --------------------------------------------------------------------------------
PNAME
PDATE
PID
PLOC '北京'
方法二、在表级别上定义约束:
Create table product(
PID number(5),
PNAME varchar2(20),
PDATE date constraint NN_PDATE_PRODUCT not null,
PLOC char(30) default ‘北京’,
FKDEPTNO number(5),
Constraint UK_PNAME_PRODUCT unique(PNAME),
Constraint PK_PID_PRODUCT primary key(PID),
Constraint CK_PID_PRODUCT check(PID>10000 AND PID<9999),
Constraint FK_DEPTNO foreign key (FKDEPTNO) references dept(DEPTNO)
);
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
NN_PDATE_PRODUCT C
CK_PID_PRODUCT C
PK_PID_PRODUCT P
UK_PNAME_PRODUCT U
FK_DEPTNO_PRODUCT R
删除约束
Alter table product drop primary key;
Alter table product drop constraint PK_PID_PRODUCT;
Alter table product drop unique (PNAME);
Alter table product modify(PDATE,null);
Alter table product modify(PLOC,default null)/modify(PLOC ,default ‘威海’);--更改默认值
Alter table product drop constraint FK_DEPTNO;
外键、check约束只能使用约束名来删除,其他约束如果有约束名也可以使用约束名来删除
增加约束
Alter table product add primary key (PID);
Alter table product add constraint PK_PID primary key(PID);
Alter table product add unique(PNAME);
Alter table product modify(PDATE, not null);
Alter table product modify(PLOC ,default ‘威海’);
oracle添加两个约束,Oracle添加表约束的2种方法相关推荐
- Oracle多行记录合并/连接/聚合字符串的几种方法
Oracle多行记录合并/连接/聚合字符串的几种方法 怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结. ...
- 在java中的交换方法有哪些_java中交换两个变量的值有哪几种方法,交换两个变量a和b的值...
java中交换两个变量的值有哪几种方法在Java中,有哪些方法可以交换两个变量的值, 方法: 1.定义临时变量 2.没有必要定义临时变量 3.使用位运算符 (学习视频分享:java课程) 代码示例: ...
- oracle列添加主键约束,Oracle如何添加主键约束
工具/材料 SQL Developer 操作方法 01 首先打开SQL Developer软件,找一个没有主键约束的表,如下图所示 02 然后我们新建一个查询,在界面中输入如下的约束修改语句,如下图所 ...
- 谷歌Analytics添加到您的SharePoint 2010网站的2种方法
第1种方法 毫无疑问,建立在SharePoint分析是确定的任务,但如果你有一个没有获得中央管理和托管的SharePoint,你需要更丰富的数据提供比内置的工具,会发生什么?那么你可以使用谷歌分析,这 ...
- php生成指定范围随机数两位小数_PHP生成随机数的几种方法
第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV ...
- oracle如何添加非空约束,oracle 怎么用sql删除非空约束?
最近在学习oracle的闪回知识(oracle11g),也注意到了这个问题,经初步测试是结果是这样的: 首先确认一下,数据库是否打开了闪回特性: show parameter recyclebin; ...
- oracle两个约束,Oracle中的约束介绍(2)
CREATE OR REPLACE FUNCTION GETREFERENCESCOLUMN ( i_table_name varchar2 , --表名 i_constraint_name varc ...
- oracle 查看表结构约束,oracle 约束
约束是表中列的属性,用来维护数据结构完整性的一种手段 约束的种类: NOT NULL UNIQUE PARIAMRY KEY FOREIGN KEY CHECK enble validate 检查现有 ...
- ORACLE语句两表相减,Oracle中两个date相减
两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 为相差的小时数 oracle 两个时间相减默认的是天数*24*60 为相差的分钟数 oracle 两个时间相减默认的是天数*24 ...
- mysql给一个表添加外键约束_Mysql添加外键约束
简单说一下使用外键的好处 1.完整性约束 比如: 用户表中有字段 用户编号(id) , 名称(username) 设备表中有字段 设备编号(id) , 设备名称(devicename) 设备属于的用户 ...
最新文章
- 机器学习建模神器PyCaret已开源!提升效率,几行代码轻松搞定模型
- 枚举的定义枚举类型定义
- Linux下使用perf进行性能分析,并导出火焰图
- 二、JavaWeb总结:Tomcat服务器的学习和使用
- 平台战初现 产品从单个智能走向互联
- boost::mp11::mp_map_replace相关用法的测试程序
- 带Lambda表达式的Apache Wicket
- 逆元java_逆元 - 阿聊 - 博客园
- python counter用法_10个易被忽视但应掌握的Python基本用法
- 每日优鲜上市首日股价报收于9.66美元 目前总市值约22.74亿美元
- Resharper进阶一:简要介绍
- 体验:Office SharePoint foundation 2010 Beta版安装使用
- java并发线程池---了解ThreadPoolExecutor就够了
- 物联网之NB-IoT技术实践开发二
- wma转mp3怎么弄_wma格式怎么转换mp3
- 亮相SIGGRAPH 太极拳三维教学App制作揭秘
- 『杭电1726』God’s cutter
- 2019利兹大学计算机排名,2019软科世界大学学术排名利兹大学排名第101-150
- 庄子·内篇·逍遥游第一(郭象注)
- 微信公众号开发工具汇总
热门文章
- 老罗将死,或者Android也将就换代,但是互联网的,共享,互助精神将永存
- sqlite3 判断数据库和表的状态
- mybatis-plus 自定义UpdateWrapper(二)实现列的case set
- java成员方法tostring_Java 工具类-toString
- 打包 pyqt5_基于Pyqt5的简单电影搜索工具,Python让你3秒搜电影
- spring源码-第四个后置处理器
- CentOs下编译安装nginx
- js双等号探索(三): [] == false为True,而!![] == false为False ?
- 交互软件Axure—高保真原型
- Java Design Demo -简单的队列-异步多任务队列(java android)