亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教下oracle數據庫有視圖嗎?另外,procedure什么時候必須用到?

請教下oracle數據庫有視圖嗎?另外,procedure什么時候必須用到?

開心每一天1111 2022-05-12 15:11:15
mysql數據庫視圖是什么?什么時候必須建視圖?我之前查了,但是感覺還是很模糊
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

視圖2個用處,一個是方便查詢,比如下面的例子:
SQL> CREATE VIEW
2 v_sale_report_sum
3 AS
4 SELECT
5 sale_item,
6 SUM(sale_money) AS sale_money
7 FROM
8 sale_report
9 GROUP BY
10 sale_item;
View created.

SQL> SELECT * FROM v_sale_report_sum;
不使用視圖的話,你每查詢一次,都要寫一段很長的 SQL 語句。又是SUM 又是GROUP BY的。
有了視圖以后,一行SQL就解決問題。

還有一個用處,就是安全方面上的設置需要。
比如 人力資源那里,有一個員工表,里面有
員工的姓名、性別、生日、籍貫、工作年限、工資、所屬部門 等信息。

人力資源的人,希望你幫忙寫一個2011年,工作排版表的程序,但是又不希望你“知道得太多”。
那么就創建一個視圖
CREATE VIEW v_員工 AS
SELECT
姓名, 性別, 所屬部門
FROM
員工表

然后就給你一個 v_員工 的 檢索權限,讓你去寫 排班程序去了。
mysql 與 oracle 都有視圖
procedure 也就是存儲過程,也就是某些與數據庫操作比較緊密的操作,寫在存儲過程里面,比寫在 java 或者 C# 之類的外部,效果要好一些。
例如一個百貨商店的數據庫,每天晚上營業結束了,要統計銷售額,然后計算每個商品分類下面,當天的營業額是多少,然后將統計數據,插入到 統計表中。
這些操作,基本上就是 SELECT SUM / GROUP BY , 然后 INSERT INTO 的操作。
直接在數據庫內部處理就可以了。
沒必要把一大堆查詢結果,先傳遞到外邊的一個 java 或者 c#寫的客戶端。
然后再通過 客戶端傳遞一大堆的 INSERT INTO 語句回來。



查看完整回答
反對 回復 2022-05-16
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

視圖就是做多表查詢用的,這樣會很方便
oralce里同樣也有視圖.sql server里一樣也有
對于procedure我自己的理解就是
對于數據庫的記錄,,需要一次性進行多條sql語句的操作
至于view和procedure,沒有規定什么時候必須用
這些都是看具體的程序業務邏輯的實現

查看完整回答
反對 回復 2022-05-16
  • 2 回答
  • 0 關注
  • 400 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號