標籤:nio 回收 ant 簡化 plsql 輸出 補充 run dcl
01)oracle10i,oracle11g,oracle12c,其它i,g,c什麼意思?
i(Internet)互連網
g(grid)網格
c(cloud) 雲
02)sqlplus是什麼意思?
是oracle內建的用戶端工具,它的目的是通過用戶端串連到伺服器進行SQL操作。
03)oracle的對安裝路徑有什麼要求,對硬體設定有什麼要求?
不能有中文,空白字串的目錄
硬體要求:至少單CPU,記憶體1G,硬碟空間至少5G;
04)什麼是PLSQL?
過程化結構查詢語言,是對SQL的補充,只能在oracle資料庫伺服器中運用。
05)向表中如何插入‘引號?
insert into emp(ename) values(‘‘‘‘);
查詢員工姓名中含有‘_‘的員工,使用\轉義符,讓其後的字元迴歸本來意思【like ‘%\_%‘ escape ‘\‘】
select * from emp where ename like ‘%\_%‘ escape ‘\‘;
06)decode()函數的作用?
是oracle專用的多條件判斷函數,類似SQL99中case..end文法
舉例:
職位是分析員的,工資+1000;職位是經理的,工資+800;職位是其它的,工資+400
decode(欄位,條件1,運算式1,條件2,運算式2,...運算式n)
select ename "姓名",job "職位",sal "漲前工資",
decode(job,‘ANALYST‘,sal+1000,‘MANAGER‘,sal+800,sal+400) "漲後工資"
from emp;
07)union和union all的區別?
union all 表示兩個集合中相同的,都能取出
union 表示兩個集合中相同的,只能取出一個
08)delete和truncate和drop的區別?
delete是DML/可復原/可帶where/相對慢/會產生片段
truncate是DDL/不可復原/不可帶where/相對中/內容無/結構有
drop是DDL/不可復原/不可帶where/相對快/結構無/可以帶purge關鍵字/閃回!=復原
09)oracle中為什麼能復原?
不是說所有的操作都能復原,只限於DML操作
因為DML操作的資料會被放入執行個體池中,DML操作後會被放到復原區
所以對DML操作來說,是可以復原的。
10)函數和過程的區別?
函數適合於有且只有一個傳回值的情況
過程適合於無傳回值或2個及其以上的傳回值的情況
11)序列的cache有什麼作用?
序列的目的是對主鍵提高唯一的數值,但不一定連續
有了cache機制後,那麼主鍵直接可以從記憶體中擷取,速度提高,預設是20個主索引值,
可被多個表共用。
12)簡述使用者,角色和許可權的關係?
通常上面的三者的關係是多對多。
13)談談視圖使用的場合?
讓不同的角色使用者只可訪問該角色使用者能訪問的內容。
簡化複雜SQL的編寫,不能提高查詢效率
14)談談索引使用的場合?
針對錶中的單個或多個欄位建立索引,從而在根據該欄位查詢時,提高效率。
15)一個完整的PLSQL有哪幾部分組成?
[declare]
begin
[exception]
end;
/
16)pename emp.ename%type和emp_rec emp%rowtype是什麼意思?
pename 變數與emp表ename相同類型
pename 變數與emp表的結構類型相同,通過變數名.欄位名訪問
17)select to_char(sysdate,‘day‘) into pday from dual是什麼意思?
擷取當前星期幾設定到變數pday;
18)exit when cemp%notfound是什麼意思?
當cemp遊標找不到真實記錄時,就退出
19)什麼情況下,要使用cursor?
對錶中多條記錄從上向下一一迭代是,可以使用cursor技術
20)NO_EMP_FOUND exception是什麼意思?
定義例外
21)什麼是預存程序和儲存函數?
事先用oracle語言寫的一段具有業務功能的程式段,長期存於oracle伺服器中,
供oracle用戶端或外界應用程式
22)預存程序和儲存函數比較適合用在什麼地方?
過程:適合於無傳回值或有超過一個以上傳回值的應用
函數:有且僅有一個傳回值。
23)in和out是什麼意思?預設是哪個?
in 接收實參
out 輸出傳回值
預設是in
24)觸發器()是針對insert/delete/update/select哪些操作?
觸發器()是針對insert/delete/update
25)為什麼oracle不直接用rownum做主健呢?
rownum=1這條記錄不能永遠唯一表示SMITH這個使用者
但主鍵=1確可以永遠唯一表示SMITH這個使用者
26)刪除到資源回收筒的表,通過什麼技術可以還原?
閃回
27)create table emp as select * from xxx_emp where 1<>1是什麼意思?
依據xxx_emp建立emp表結構,但無記錄
28)事務是針對DML/DDL/DCL哪種語句?
DML
29)drop table/truncate table/delete from 的區別?
drop table 是DDL/不可復原/不可帶where/表內容和表結構
truncate table 是DDL/不可復原/不可帶where/表內容沒表結構在
delete from 是DML/可復原/速度最慢
30)oracle預設是哪種隔離等級?MySQL預設是哪種隔離等級?
31)grant select any table to scott和revoke select any table from scott是什麼意思?
授給Scott使用者查詢任何錶的許可權
撤銷Scott使用者查詢任何錶的許可權
32)on delete cascade和on delete set null是什麼意思?
刪除主表記錄時,同時刪除從表相關聯的記錄
刪除主表記錄時,不同時刪除從表相關聯的記錄,只是將從表的外鍵欄位設定為null
33)你覺得什麼情況下要用視圖?
簡化sql查詢,不提高查詢速度
讓不同的使用者看到不同的資料
34)視圖能提高查詢效率(即讓查詢速度更快)嗎?
不能
只有索引才能提高查詢速度
35)唯讀視圖有什麼好處?
不能對視圖進行非 select操作
注意:
單引號出現的地方如下:
1)字串,例如:‘hello‘
2)日期型,例如:‘17-12月-80‘
3)to_char/to_date(日期,‘YYYY-MM-DD HH24:MI:SS‘)
雙引號出現的地方如下:
1)列別名,例如:select ename "姓 名" from emp
2)to_char/to_date(日期,‘YYYY"年"MM"月"DD"日" HH24:MI:SS‘)‘’號中的英文字元大小寫不敏感
oracle 小測