Oracle数据库常用技术
一、視圖(重點)
什么是視圖?
·視圖由一個或多個表(或視圖)中提取數據而成
·視圖是一種虛擬表
·視圖一經創建,可以當作表來使用。
使用視圖的好處?
·?簡化復雜數據查詢
·?提高運行效率
·?屏蔽數據庫表結構,實現數據邏輯獨立性
·?限制數據庫訪問
·?在相同數據上提供不同的視圖,便于數據共享
命名規范:
???????·以V開頭,后加視圖名?:VEMP10
???????·以系統名v_+模塊名作為前綴?,例:V_SECTION
???????·VIEW_VDU_ADMINISTRATORS
???????·視圖名_VU:?user?view
創建視圖:
創建視圖的語法:
CREATE?VIEW?視圖名稱?AS?子查詢?;
創建視圖的步驟:
???????1:先把查詢語句寫正確
???????2:??然后在添加視圖語句
注意:在寫子查詢時不能使用??SELECT?*
???????程序員手則:嚴禁使用?SELECT?*?FROM?表名
刪除視圖
替換視圖:
CREATE?OR?REPLACE?視圖名稱?AS?子查詢?;
創建不可更新視圖:
·?WITH?CHECK?OPTION:不能更新視圖的創建條件
例:在視圖創建中使用此參數
1?CREATE?OR?REPLACE?VIEW?empv202?AS3???????SELECT?*?FROM?emp?WHERE?deptno=204?WITH?CHECK?OPTION?;
UPDATE?empv20?SET?deptno=30?WHERE?empno=7369?;
更新語句不起作用
創建視圖:
·?WITH?READ?ONLY:創建的視圖只讀
例:創建只讀視圖
1?CREATE?OR?REPLACE?VIEW?empv202?AS3?SELECT?*?FROM?emp?WHERE?deptno=204?WITH??READ??ONLY?;
二、存儲進程Procedure
?
?
?
三、段user_segments和區user_extents
空間以段(segment)為單位分配給對象(如表、群集和索引),它們在物理上對應于在數據庫中創建的邏輯對象
Oracle中的段(segment)是占用磁盤空間的一個對象,
常見段的類型有:
聚簇cluster
表table
表分區tablepartition
索引index
索引分區
Lob分區、Lob子分區、Lob索引、Lob段
嵌套表nestedtable
回滾段rollback。
select * from user_segments;
在11gR2中,一張表只有插入數據后才會分配段空間
一個段中可能有多種不同的表,段包含區,區包含塊。同時表也包含區和塊。
段由稱為區(extent)的連續區域組成
?
四、SQLLoader
五、字符集
博客:http://blog.itpub.net/118838/viewspace-730214/
查看數據庫字符集
數據庫服務器字符集select * from nls_database_parameters,其來源于props$,是表示數據庫的字符集。
客戶端字符集環境select * from nls_instance_parameters,其來源于v$parameter,
客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。
修改數據庫UTF-8編碼
例如把字符集GB2312修改為UTF-8步驟:
1 1.在SQL*PLUS 中,以DBA登錄conn 用戶名 as sysdba 2 2.執行轉換語句: 3 SHUTDOWN IMMEDIATE; 4 STARTUP MOUNT EXCLUSIVE; 5 ALTER SYSTEM ENABLE RESTRICTED SESSION; 6 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 7 ALTER SYSTEM SET AQ_TM_PROCESSES=0; 8 ALTER DATABASE OPEN; 9 ALTER DATABASE NATIONAL CHARACTER SET UTF8; 10 SHUTDOWN immediate; 11 startup;可能報錯:‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET whenNCLOB data exists’
解決方法:
一、使用INTERNAL_USE 關鍵字修改區域設置
1 SHUTDOWN IMMEDIATE; 2 STARTUP MOUNT EXCLUSIVE; 3 ALTER SYSTEM ENABLE RESTRICTED SESSION; 4 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 5 ALTER SYSTEM SET AQ_TM_PROCESSES=0; 6 ALTER DATABASE OPEN; 7 ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8; 8 SHUTDOWN immediate; 9 startup;?
?
?
行式數據庫
列式數據庫
轉載于:https://www.cnblogs.com/wangwanchao/p/5364864.html
總結
以上是生活随笔為你收集整理的Oracle数据库常用技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骚年请待我长发及要132个
- 下一篇: String() 函数把对象的值转换为字