Home Database Mysql Tutorial Oracle笔记:创建视图

Oracle笔记:创建视图

Jun 07, 2016 pm 05:11 PM
o database

视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清楚它的含义后你就会恍然大悟。表和视图的区别

视图这个名词太抽象了,乍一看完全不明白是什么意思,更不知道有何用处,其实了解清楚它的含义后你就会恍然大悟。表和视图的区别,表是占用硬盘空间物理表,而视图可以理解为一个虚表,并不存储在硬盘上,不占用硬盘空间,实际上就是一个查询语句,方便查询。对视图里面的数据操作(增、删、改) 其实就是对真实的表增、删、改,它们始终保持一致性。
    为什么还需要视图 ?
    视图可以理解成一个封装过的表,,例如不让用户清楚知道表的某些字段信息,比较安全。
延续之前的表tableA,创建一个select * from tableA的视图a_view:
SQL>CREATE VIEW a_view AS SELECT * FROM tableA;
SQL>SELECT * FROM a_view;

clip_image002


clip_image004


视图创建成功,查询a_view的结果,和select * from tableA结果一样。
如果创建视图时提示以下错误,说明该用户没有创建视图的权限,需要用后面的方法进行授权。
ERROR at line 1:
ORA-01031: insufficient privileges
----------------------------------
SQL> conn /as sysdba
Connected.
SQL> grant connect,dba to user;
Grant succeeded.
SQL> conn user/password
Connected.
往视图插入一条记录
SQL> INSERT INTO a_view(id,name,age) VALUES(106,'susan',23); 

Oracle笔记:创建视图

 

记录被成功添加进视图中,同时也加进了表里。
修改视图:与创建视图不同,创建视图使用create创建,而修改视图是用create or replace。如果要设置视图只读权限,可以在SQL语句末尾添加with read only。设为只读之后如果再往视图里添加记录的话,Oracle即会报错,如下图所示。
SQL> CREATE OR REPLACE VIEW a_view AS SELECT * FROM tableA WITH READ ONLY;

clip_image010


如果要添加有额外条件的查询视图,可以在末尾加上条件。例如查询年龄大于等于24岁的人,可用下图所示的方式:
SQL> CREATE OR REPLACE VIEW a_view AS SELECT * FROM tableA where age>=24;

clip_image012


多表查询视图,如果表tableA和tableB的字段ID有相同记录的话,把相应的tableA的name字段记录和tableB的class、grade字段记录罗列出来,创建到视图b_view里,如下图所示:
SQL> CREATE VIEW b_view as select a.name,b.class,b.grade from tableA a,tableB b where a.id=b.id;

clip_image014


最后有关查看视图中所包含的字段,方法和查看表的一样
SQL>DESC b_view;

clip_image016

linux

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

How to use database callback functions in Golang? How to use database callback functions in Golang? Jun 03, 2024 pm 02:20 PM

Using the database callback function in Golang can achieve: executing custom code after the specified database operation is completed. Add custom behavior through separate functions without writing additional code. Callback functions are available for insert, update, delete, and query operations. You must use the sql.Exec, sql.QueryRow, or sql.Query function to use the callback function.

How does Go WebSocket integrate with databases? How does Go WebSocket integrate with databases? Jun 05, 2024 pm 03:18 PM

How to integrate GoWebSocket with a database: Set up a database connection: Use the database/sql package to connect to the database. Store WebSocket messages to the database: Use the INSERT statement to insert the message into the database. Retrieve WebSocket messages from the database: Use the SELECT statement to retrieve messages from the database.

How to connect to remote database using Golang? How to connect to remote database using Golang? Jun 01, 2024 pm 08:31 PM

Through the Go standard library database/sql package, you can connect to remote databases such as MySQL, PostgreSQL or SQLite: create a connection string containing database connection information. Use the sql.Open() function to open a database connection. Perform database operations such as SQL queries and insert operations. Use defer to close the database connection to release resources.

How to handle database connections and operations using C++? How to handle database connections and operations using C++? Jun 01, 2024 pm 07:24 PM

Use the DataAccessObjects (DAO) library in C++ to connect and operate the database, including establishing database connections, executing SQL queries, inserting new records and updating existing records. The specific steps are: 1. Include necessary library statements; 2. Open the database file; 3. Create a Recordset object to execute SQL queries or manipulate data; 4. Traverse the results or update records according to specific needs.

PHP connections to different databases: MySQL, PostgreSQL, Oracle and more PHP connections to different databases: MySQL, PostgreSQL, Oracle and more Jun 01, 2024 pm 03:02 PM

PHP database connection guide: MySQL: Install the MySQLi extension and create a connection (servername, username, password, dbname). PostgreSQL: Install the PgSQL extension and create a connection (host, dbname, user, password). Oracle: Install the OracleOCI8 extension and create a connection (servername, username, password). Practical case: Obtain MySQL data, PostgreSQL query, OracleOCI8 update record.

See all articles