题目:
第一步创建对象:
1. 表1, 表名:T_USER (系统用户)
字段名类型 是否可为空长度
IDNUMBER不可3
NAMEVARCHAR2不可32个字符
TYPEchar不可 1个字符
MOBILENOVARCHAR2可以11个字符
CREATED_TIMEDATE不可
LAST_MODIFIED_TIMEDATE不可
NOTEVARCHAR2可以 512个字符
要求:
ID 作为主键。
Name 要求有唯一约束。
CREATED_TIME的默认值为 sysdate
TYPE的值: 1为超级用户,2为普通用户
2. Sequence, 序列名: (SE_T_USER_ID)
要求: 序列从最大值只能到999,最小值是2。
3. 表2: 表名T_LOG_OPER(操作日志)
字段名类型 是否可为空长度 备注
IDNUMBER不可为空3
LOG_TYPECHAR不可为空11-插入用户,
2-删除用户。3-修改用户
CREATED_TIME DATE不可为空 默认
4. 表3: 表名T_LOG_OPER(操作日志)
字段名类型 是否可为空长度
IDNUMBER不可为空3
LOG_TYPECHAR不可为空1
CREATED_TIME DATE不可为空 默认
5. Database link : test_63
Dblink名: test_63 (
指向的数据库IP:192.168.10.63, SID/service_name=test
用户名:test
口令:test
背景交代(192.168.10.63的test用户下有一张表T_GROUP_USER,在第编写过程的第1题要用到):SQL> desc T_GROUP_USER;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
ID NUMBER Y
NAME VARCHAR2(32) Y
第二步创建视图
创建一个只读视图,视图名:V_T_USER, 通过该视图可查询T_USER表的created_Time 在30天内的。
SQL 语句:
-- 创建表 t_user
create table t_user(
id number(3) primary key,
name varchar2(32) not null unique,
type char(1) not null,
mobileno varchar2(11),
created_time date default sysdate not null,
last_modified_time date default sysdate not null,
note varchar2(512)
);
-- 添加 列注释
comment on column t_user.type is 'type的值:1-为超级用户,2-为普通用户';-- 创建序列 se_t_user_id
create sequence se_t_user_id minvalue 2 maxvalue 999 increment by 1;
-- 创建表 t_log_oper
create table t_log_oper(
id number(3) not null,
log_type char(1) not null,
created_time date default sysdate
);
--添加 列注释
comment on column t_log_oper.log_type is 'log_type的值:1-插入用户,2-删除用户,3-修改用户';
-- 创建 database link:test_63
create database link test_63 connect to TEST identified by "test" using '192_168_10_63_test';
select * fromt_group_user@test_63
-- 创建 只读视图
create or replace view v_t_user
as (select * from t_user where created_time>(sysdate-30)) with read only;