溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL 基礎之索引、閃回、臨時表(十八)

發布時間:2020-08-12 12:29:48 來源:網絡 閱讀:359 作者:yuri_cto 欄目:數據庫

創建索引:

自動

– 創建 PRIMARY KEY

– 創建 UNIQUE KEY


手動

– CREATE INDEX 語句

– CREATE TABLE 語句


create table  語句中 create index


 create table new_emp (employee_id number(6) primary key using index

(create index emp_id_idx on

new_emp(employee_id)),

first_name varchar2(20),

last_name varchar2(25));


select index_name, table_name from user_indexes  where table_name = 'new_emp';


基于函數的索引

  • 基于函數的索引就是一個基于表達式的索引

  • 索引表達式由列、常量、SQL 函數和用戶自定義函數構成的


create index upper_dept_name_idx on dept2(upper(department_name));


select * from dept2 where upper(department_name) = 'SALES';


刪除索引

使用 DROP INDEX 命令從數據字典中刪除索引:

drop index index;

從數據字典中刪除 UPPER_DEPT_NAME_IDX 索引:

drop index upper_dept_name_idx;

刪除索引,您必須是索引的擁有者或者有 DROP ANY INDEX權限


drop table dept80 purge;


FLASHBACK TABLE  語句

  • 一條語句就可以恢復到指定時間點。

  • 恢復表中的數據以及相關的索引和約束。

  • 可以根據某一時間點或者系統改變號(SCN) 來恢復表。


表意外修改的修復工具:

– 表恢復到一個較早的時間點

– 優點:易用性、可用性、快速執行

– 執行到位(Is performed in place)


語法:

flashback table[schema.]table[,

[ schema.]table ]...

to { timestamp | scn } expr

[ { enable | disable } triggers ];


示例:

drop table emp2;

select original_name, operation, droptime from recyclebin;

flashback table emp2 to before drop;


臨時表

創建臨時表

create global temporary table cart on commit delete rows;


create global temporary table today_sales

on commit preserve rows as

select * from orders

where order_date = sysdate;


外部表

為外部表創建目錄

創建 DIRECTORY對象,對應外部數據源所在的文件系統上的目錄。

create or replace directory emp_diras '/.../emp_dir';

grant read on directory emp_dir to ora_21;


創建外部表

create table <table_name>

( <col_name> <datatype>, ... )

organization external

(type <access_driver_type>

default directory <directory_name>

access parameters

(...) )

location ('<location_specifier>')

reject limit [0 | <number> | unlimited];


使用ORACLE_LOADER 驅動創建外部表

create table oldemp (

fname char(25), lname char(25))

organization external

(type oracle_loader

default directory emp_dir

access parameters

(records delimited by newline

nobadfile

nologfile

fields terminated by ','

(fname position ( 1:20) char,

lname position (22:41) char))

location ('emp.dat'))

parallel 5

reject limit 200;


查詢外部表

select * from oldemp

使用ORACLE_DATAPUMP驅動創建外部表:

create table emp_ext

(employee_id, first_name, last_name)

organization external

(

type oracle_datapump

default directory emp_dir

location

('emp1.exp','emp2.exp')

)

parallel

as

select employee_id, first_name, last_name

from employees;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女