oracle中的视图
create table a(
id number primary key,
name varchar2(20)
);
create table b(
id number,
name varchar2(20),
aid number references a(id)
);
insert into a values(1,'1');
insert into b values(1,'aaa',1);
如果 create view vi_new as select * from a
在视图vi_new 上做任何 dml操作都会修改 对应的基表中的数据
因为视图就是一个指针
测试 若果drop table 基表 视图同时也会报错 说明 视图不是单独存在的 而是指向基表的
如果 create view vi_new as select t.a,s.name from A t,B s where t.a=s.id
这样就只能进行查询操作了 进行增删改就会跑错
视图的优点
1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。
2.用户通过简单的查询可以从复杂查询中得到结果。
3.维护数据的独立性,试图可从多个表检索数据。
4.对于相同的数据可产生不同的视图。
相关文档:
创建临时表空间
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE ' C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf '
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户表空间
CREATE TABLESPACE test_data
LOGGING
DATAFI ......
配置身份验证
Oracle为用户账户提供三种身份验证方法:
(1)密码验证
当一个使用密码验证机制的用户试图连接到数据库时,数据库会核实用户名是否是一个有效地数据库用户,并且提供与该用户在数据库中存储的密码相匹配的密码。
(2)外部验证
当一个外部验证式用户试图连接到数据库时,数据库会核实用户名是否是一个有效的 ......
分页查询格式:
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * from TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。
上面给出的这个分页查询语句,在大多 ......
我在工作中在Oracle中多表查询再按时间倒序时,用order by 表名.datatime desc 总是实现不了。
不过最后问杨鹃最后和我说可以把我们查询的总个sql语句做为一个表来排序:
select rownum,aa.* from (.... order by 表名.datatime desc ) aa ......
INTERVAL YEAR TO MONTH数据类型
Oracle语法:
INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]
该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.
eg:
INTERVAL '123-2' YEAR(3) TO MONTH & ......