ORACLE中创建如何创建表,并设置结构和默认值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE中创建如何创建表,并设置结构和默认值相关的知识,希望对你有一定的参考价值。
参考技术A 使用select语句查看EMP表,根据COMM排序默认情况下,空值会自动排列在尾部。利用nulls last排序时将空值置底利用nulls first排序时将空值置顶例 创建一张出版社表 使用语句 create table 表名(列名1 类型,列名2 类型,…….)需求:列 编号 varchar2(20) (char / varchar2 区别,char类型,当不满设定字节数时,会自动补全,是固定占用数据库的大小,而varchar2不会)地址varchar2(20)联系电话 varchar2(20)例 创建表 图书列 图书编号 varchar2(20)图书名称 varchar2(20)出版社编号 varchar2(20)作者varchar2(10)出版社日期 date数量number(2)单价number(7,3)创建表的时候,可以通过子查询的方法,利用create和select的联合使用直接创建create table 表名(列名) as sql查询语句例以上复制方法,会将内容一起复制到新的表中,我们可以在后面加入where表达式,条件为一个不等式,则只复制结构,而不复制内容例如构建表的同时,不但需要指定表的结构,也需要指定表的默认值例如create table books3(bookno varchar2(20) default null, 当Insert bookno列为空时,则默认也为空bookname varchar2(20) default ‘未知’, 当输入为空时,显示‘未知’字符串 出版日期 date default sysdate, 默认为系统时间数量number default 0 ); 数量默认为0给books3插入一条数据,利用select查看,默认是否生效。本回答被提问者采纳如何sql 在表中创建一个sequence
为oracle 数据库的person表 创建一个sequence和一个触发器
每当数据新增数据时 PERSON_IDZI字段的值根据sequence产生,builddate的值根据当前日期产生
利用触发器将数据自动数据
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache
order;
建解发器代码为:
create or replace trigger tri_test_id
before insert on person
for each row
declare
nextid number;
begin
IF :new.PERSON_IDZI IS NULL THEN
select SEQ_ID.nextval --SEQ_ID正是刚才创建的
into nextid
from sys.dual;
:new.PERSON_IDZI :=nextid;
end if;
end tri_test_id;
OK,上面的代码就可以实现自增长oracle标识列的功能了。本回答被提问者采纳
以上是关于ORACLE中创建如何创建表,并设置结构和默认值的主要内容,如果未能解决你的问题,请参考以下文章