日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux怎么调oracle存储,Linux 环境下Oracle安装与调试(四)之视图、存储过程

發布時間:2024/9/19 linux 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux怎么调oracle存储,Linux 环境下Oracle安装与调试(四)之视图、存储过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、視圖的介紹和使用

表和視圖的區別,表是占用硬盤空間物理表,而視圖可以理解為一個虛表,并不存儲在硬盤上,

不占用硬盤空間,實際上就是一個查詢語句,方便查詢。

對視圖里面的數據操作(增 刪 改) 其實就是對真實的表 增 刪 改, 它們始終保持一致性。

哪為什么還需要視圖 ?

視圖可以理解成一個封裝過的表, 例如不讓用戶 清楚知道表的某些字段信息,比較安全。

===========

下面進行操作 演示

CREATE TABLE xue_sheng( id integer, xing_ming varchar(25),xing_bie number, fen_shu number, b_id integer);

INSERT INTO xue_sheng VALUES(1,'ZhanSan',1,80,1);

INSERT INTO xue_sheng VALUES(2,'LiSi',1,90,2);

INSERT INTO xue_sheng VALUES(3,'ZhanHong',0,75,2);

INSERT INTO xue_sheng VALUES(4,'ChenXiaoMing',1,85,1);

增加一個視圖:

SQL> CREATE VIEW xs_view AS SELECT * FROM xue_sheng;

CREATE VIEW xs_view AS SELECT * FROM xue_sheng

*

ERROR at line 1:

ORA-01031: insufficient privilegesscott ?沒有創建視圖的權限

更改用戶為sysdba

----------------------------------

SQL> conn /as sysdba

Connected.

SQL> grant connect,dba to scott; ? ?賦予權限;

Grant succeeded.

SQL> conn scott/tiger

Connected.

SQL> CREATE VIEW xs_view AS SELECT * FROM xue_sheng;

View created.

------------------------------

#對比表和視圖,一模一樣

#插入一條數據可以發現,對視圖增刪改,就是對表增刪改;

#設置視圖權限

CREATE OR REPLACE 的使用 和 設置視圖的權限WITH READ ONLY 只讀

如果視圖不存在,則創建視圖;如果視圖存在則替換視圖;

修改原來的視圖, 其實就是做一個替換

修改視圖為只讀權限

CREATE OR REPLACE VIEW xs_view AS SELECT * FROM xue_sheng WITH READ ONLY;

提示這是一個 read-only view 只讀的視圖

#創建一個帶條件的視圖

#再增加一個班級表

CREATE TABLE ban_ji( id integer , ban_ji varchar(25));

INSERT INTO ban_ji VALUES(1,'1-(1)');

INSERT INTO ban_ji VALUES(2,'1-(2)');

INSERT INTO ban_ji VALUES(3,'1-(3)');

建立一個簡單的視圖, 取代復雜的查詢語句,創建一個視圖用于臨時存放查詢結果,而且以后需要對查詢的結果反復操作;

CREATE OR REPLACE VIEW xs_view AS SELECT x.id, xing_ming,ban_ji FROM xue_sheng x JOIN ban_ji b ON x.b_id=b.id;

SELECT * FROM xs_view;

顯示視圖的字段和數據類型

DESC xs_view;

2、存儲過程

#定義

存儲過程 - 執行一個任務,該任務包括了一系列的PL SQL語句,存儲在數據庫中,成為數據庫一個對象。效率比較高的,但你創建一個存儲過程它會進行一個判斷編譯的

#創建一個簡單的存儲過程,這個存儲過程什么都不操作,NULL表示;

is:聲明一些變量;

#執行存儲過程;

以上2中方法執行存儲過程,如果沒有什么輸出參數可以用第一種execute xs_proc;如果有輸出參數,最好用第2中方法;

#存儲過程顯示信息

輸出要設置為ON , 才會把 hello 顯示出來

#存儲過程實例

CREATE TABLE xue_sheng( id integer, xing_ming varchar(25), yu_wen number,shu_xue number);

INSERT INTO xue_sheng VALUES(1,'ZhanSan',80,90);

INSERT INTO xue_sheng VALUES(2,'LiSi',85,87);

只帶一個輸入參數 ,把查詢的結果顯示出來

當輸入學生的名字, 就會把他的總分(語文+數學)顯示出來。

#輸入參數 和 輸出參數一起使用

#維護存儲過程

1、查看過程狀態

SELECT object_name,status FROM USER_OBJECTS WHERE object_type='PROCEDURE';

2、重新編譯過程

ALTER PROCEDURE xs_proc COMPILE;

3、查看過程的源代碼

SELECT * FROM USER_SOURCE WHERE TYPE='PROCEDURE';

4、刪除存儲過程

DROP PROCEDURE xs_proc;

總結

以上是生活随笔為你收集整理的Linux怎么调oracle存储,Linux 环境下Oracle安装与调试(四)之视图、存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。