Oracle中常见的数据库对象--视图
数据库对象—视图: 一、视图的定义:从表中抽出的逻辑上相关的数据集合 a) 视图是一种虚表 b) 视图建立在已有表
数据库对象—视图:
一、视图的定义:从表中抽出的逻辑上相关的数据集合
a) 视图是一种虚表
b) 视图建立在已有表基础上,视图依赖已建立的这些表称为基表
c) 向视图提供数据内容的语句为SELECT语句,,可以将视图理解为存储起来的SElECT语句
d) 视图向用户提供基表数据的另一种表示形式
二、为什么要使用视图
a) 控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.
b) 简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它
c) 避免重复访问相同的数据
三、创建视图:
a) 在CREATE VIEW语句中嵌入子查询
i. Create [OR REPLACE] [FORCE | NOFORCE] VIEW view [(alias [,alias]…)]
AS subquerytion
[with check option [CONSTRAINT constraint ]]
[with read only [CONSTRAINT constraint]]
b) 子查询可以是复杂的SELECT语句
i. CREATE VIEW empvu
AS select employee_id,last_name,salary
FROM employees
WHERE department_ed=80;
c) 描述视图结构:
i. Describe empvu;
d) 创建视图时在子查询中给列定义别名
i. SQL> create view usersview as select username name,password pass from users;
ii. //查询视图
SQL> select * from usersview;
e) 使用CREATE OR REPLACE VIEW 子句修改视图
i. SQL> create or replace view usersview as(select * from users);
f) 创建带有函数,groupby子句视图
i. SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);
g) 创建连接视图 带有函数 group by子句 order by 子句
i. SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;
四、 视图中使用DML的规定
a) 可以在简单视图中执行DML操作
b) 当时图定义中包含以下元素之一是不能使用delete:
i. 组函数
ii. GROUP BY 子句
iii. DISTINCT 关键字
iv. ROWNUM 伪列
c) 当视图定义中包含以下元素之一时不能使用update :
i. 组函数
ii. GROUP BY子句
iii. DISTINCT 关键字
iv. ROWNUM 伪列
v. 列的定义为表达式
d) 可以使用 WITH READ ONLY 选项屏蔽对视图的DML 操作
d)任何 DML 操作都会返回一个Oracle server 错误
五、 删除视图
a) Drop view 视图名;

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

記事では、準備されたステートメント、入力検証、および強力なパスワードポリシーを使用して、SQLインジェクションおよびブルートフォース攻撃に対するMySQLの保護について説明します。(159文字)
