记录类型的使用,是可以灵活的贴近表字段的类型使用的。比如,你只需要某个表中的几个字段,或者来自不同表的某几个字段,这个就需要一个了灵活的类型来实现这个功能了。
数据库定义语言 DDL 主要由 create,alter 与 drop 3个语句组成。 1.create create index: -- 创建数据表索引 create procedure: -- 创建存储过程 create function: --创建用户函数 create view:--创建视图 create trigger :--创建触发器 create table company_emp ( empno number(4) primary key not null, -- 员工工号 ename varchar2(10 byte), -- 员工名称 job varchar2(9 btye), -- 员工职称 mgr number(4), -- 所属经理 hiredate date, -- 雇佣日期 sal number(7,2), -- 员工工资 comm number(7,2), -- 员工描述 deptno number(2) -- 部门编号 ) 2.drop drop 语句用来移除数据库对象,比如可以移除表,视图,索引表等数据库对象 -- 移除company_emp表 drop table company_emp; drop 包含一个隐式提交事务语句 3.alter alter 语句是用来修改数据库对象,比如 可以修改表,试图,索引,触发器的定义等, 由于alter 只需要修改数据库对象的局部,因此不需要定义完整的数据库对象参数,可以根据要修改的幅度来决定使用的参数。 -- 向company_emp 添加列 alter table company_emp add description varchar2(200) null; --移除descriotion 字段 alter table company_emp drop column description;
--4. 为用户 scott 授权表,视图,和过程权限 grant create any table, create any view, create any procedure to scott;
5. 行级约束
create table invoice ( invoice_Id number not null unique, --自动编号,唯一,不为空 vendor_id number not null, --供应商id invoice_number varchar2(50) not null --发票日期 invoice_date date default sysdate, --发票日期 invoice_total number(9,2) not null, --发票总数 payment_total number(/9,2 ) default 0--付款总数 )
6. 表级约束 constraint create table invoice ( invoice_Id number varchar2(50) constraint invoice_pk primary key, -- 自动编号,唯一,不为空 vendor_id number constraint vendor_id_nn not null, --供应商id invoice_number varchar2(50) constraint vendor_number_nn not null, --发票编号 invoice_date date default sysdate, --发票日期 invoice_total number(9,2) constraint invoice_total_nn not null,--发票总数 payment_total number(9,2) default 0 --付款总数 )