oracle view
视图 视图具有以下优点 1、限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽创建视图所基于的底层基表。 2、可以将复杂查询编写为视图。这样可以对最终用户屏蔽一定的复杂性。 3、限制某个视图只能访问基表中的部分数据,这样可以实现另外一层安全性
视图视图具有以下优点
1、限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽创建视图所基于的底层基表。
2、可以将复杂查询编写为视图。这样可以对最终用户屏蔽一定的复杂性。
3、限制某个视图只能访问基表中的部分数据,这样可以实现另外一层安全性,并且可以对最终用户屏蔽部分行。
CREATE [OR REPLACE] VIEW [ { FORCE | NOFORCE }] view_name
[ (alias_name[,alias_name ...])] AS subquery
[ WITH { CHECK OPTION | READ ONLY } CONSTRAINT constraint_name];
其中OR REPLACE 说明如果视图已经存在,就替换现有视图。
FROCE 说明即使基表不存在,也要创建视图,
NOFORCE 说明如果基表不存在,就不创建视图,NOFORCE是默认值。
subquery指定一个子查询。
WIHT CHECK OPTION 说明只有子查询检索的行才能被插入,修改、删除。默认情况下,在插入、修改、删除行之前不会检索这些行是否被子查询检索
WIHT READ ONLY 说明只能对基表中的行进行只读访问。
--简单视图
CREATEVIEW v_cheap_products1
AS
SELECT *
FROM products
WHERE price15;
CREATE VIEW v_employees
AS
SELECTemployee_id,manager_id,first_name,last_name,title
FROM employees;
--对视图执行insert操作
INSERTINTO v_cheap_products1 (
product_id,product_type_id,name,price
) values (
12,1,'Western Front',13.50
);
/**注意:只能对简单视图执行DML操作;复杂视图不支持DML操作.*****************/
--由于v_cheap_products没有使用WITH CHECK OPTION,因此可以插入、修改、删除那些子查询不能检索的行。
INSERTINTO v_cheap_products1 (
product_id,product_type_id,name,price
) values (
14,1,'Eastern Front',16.5
);
--以上插入了子查询不能检索的行,因此以下检索不到数据
SELECT *
FROMv_cheap_products
WHEREproduct_id =14;
--创建具有CHECK OPTION约束的视图:通过为视图添加CHECK OPTION约束,可以指定对视图执行DML操作必须满足子查询的条件。
CREATEVIEW v_cheap_products2
AS
SELECT *
FROM products
WHERE price
WITH CHECK OPTION CONSTRAINT cheap_products_v2_price;
--插入以下数据会报错
INSERTINTOv_cheap_products (
product_id,product_type_id,name,price
) values (
14,1,'Eastern Front',16.5
);
--创建只读视图:对于只读视图,不能对其执行DML操作
CREATEVIEW v_cheap_products3
AS
SELECT *
FROM products
WHERE price
WITH READ ONLY CONSTRAINT cheap_products_v3_price;
--创建复杂视图
CREATEVIEWv_products_and _types
AS
SELECT p.name product_name,pt.nameproduct_type_name,p.price
FROM products p FULL OUTER JOIN product_types pt
USING(product_type_id)
CREATEVIEWv_employee_salary_grades
AS
SELECT e.first_name, e.last_name, e.title, e.salary, sa.salary_grade_id
FROM employees e INNER JOINsalary_grades sg ON e.salary BETWEEN sg.low_salary AND sg.high_salary;
--下面这个例子创建视图v_product_average,子查询使用
/*WHERE 子句对products表中的行进行过滤,只保留那些价格低于$15的记录
GROUP BY子句对剩余的行根据product_type_id列进行分组
HAVING 子句对分组进行过滤,只保留那些平均价格低于$13的分组*/
CREATEVIEWv_product_average
AS
SELECTproduct_type_id,AVG(price) average_price
FROM products
WHERE price
GROUPBYproduct_type_id
HAVINGAVG(price) >13;
--修改视图CREATE OR REPLACE,使用ALTER VIEW可以修改视图的约束
CREATE OR REPLACE VIEW v_product_average
AS
SELECTproduct_type_id,AVG(price) average_price
FROM products
WHERE price
GROUPBYproduct_type_id
HAVINGAVG(price) >11;
--获取视图定义信息describe
DESC v_cheap_products3
--获取用户所创建的视图信息
select * from user_views;
--获取可以访问的视图信息
select * from all_views;
--获取有关视图的约束信息
select constraint_name,constraint_type,status
from user_constraints
where table_name in ('V_CHEAP_PRODUCTS1','V_CHEAP_PRODUCTS2');

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

Nyahpasang Kaedah untuk kegagalan pemasangan Oracle: Tutup Perkhidmatan Oracle, Padam Fail Program Oracle dan Kekunci Pendaftaran, Nyahpasang pembolehubah persekitaran Oracle, dan mulakan semula komputer. Jika penyahpasang gagal, anda boleh menyahpasang secara manual menggunakan alat penyahpasang Oracle Universal.

Kesalahan angka Oracle tidak sah mungkin disebabkan oleh jenis data yang tidak sepadan, limpahan angka, kesilapan penukaran data, atau rasuah data. Langkah -langkah penyelesaian masalah termasuk memeriksa jenis data, mengesan limpahan digital, memeriksa penukaran data, memeriksa rasuah data, dan meneroka penyelesaian lain yang mungkin seperti mengkonfigurasi parameter NLS_NUMERIC_CHARACTERS dan membolehkan pembalakan pengesahan data.

Untuk membuat pengguna di Oracle, ikuti langkah -langkah berikut: Buat pengguna baru menggunakan pernyataan pengguna Create. Berikan kebenaran yang diperlukan menggunakan penyata geran. Pilihan: Gunakan pernyataan sumber untuk menetapkan kuota. Konfigurasikan pilihan lain seperti peranan lalai dan ruang meja sementara.

Kaedah untuk menyelesaikan masalah penutupan kursor Oracle termasuk: secara eksplisit menutup kursor menggunakan pernyataan Tutup. Mengisytiharkan kursor dalam klausa kemas kini supaya ia ditutup secara automatik selepas skop berakhir. Mengisytiharkan kursor dalam klausa menggunakan supaya ia secara automatik ditutup apabila pembolehubah PL/SQL yang berkaitan ditutup. Gunakan pengendalian pengecualian untuk memastikan kursor ditutup dalam keadaan pengecualian. Gunakan kolam sambungan untuk menutup kursor secara automatik. Lumpuhkan penyerahan automatik dan penangguhan kursor kelewatan.
