I det här inlägget skulle jag prata om Oracle-vyer som används ganska flitigt i olika applikationer av säkerhets- och komplexitetsskäl. Jag skulle lista hela livscykeln för Oracle-vyn, dvs. Hur man skapar vy i Oracle, Oracle skapar vyexempel, hur man ändra vy i Oracle,Hur man kompilerar vy i Oracle,Hur man släpper vy i Oracle,Tvingar vy i Oracle,Hur man kontrollerar vydefinition i Oracle. Du kommer att veta varför Oracle View är viktiga och vad allt kan göras med det .
Samma saker är nästan giltiga för sql view också
Vad är Oracle view?
-En Oracle-vy är en representation av data från en eller flera Oracle-tabeller eller -vyer.
-En Oracle-vy är en namngiven och validerad SQL-fråga som lagras i Oracles dataordbok.
– Vyer innehåller inga data – det är bara en lagrad fråga i databasen som kan köras när den anropas. All data den visar kommer från bastabellerna. Man kan se en vy som en virtuell tabell eller kartläggning av data från en eller flera
-En vy tar inget lagringsutrymme annat än för definitionen av vyn i dataordboken.
- En vy kan användas för att representera en delmängd av data (för säkerhetsfrågor), användas för att representera en superuppsättning av data (sammanfoga flera tabeller till en vy), för att dölja komplexa kopplingar, för att ge meningsfulla namn för kolumner och för att minimera ändringar av program och datakällor.
-De refererade tabellerna kallas bastabeller .
- För att skapa en vy använd kommandot CREATE VIEW följt av en SQL-fråga.
Exempel på skapande av Oracle
CREATE VIEW view_name AS SELECT columns FROM tables [WHERE conditions];
-Du kan ange kolumnnamnen med
CREATE VIEW (col1, col2…) AS SELECT COL1, COL2… FROM …;
-Om du skapar en vy med CREATE FORCE VIEW skapas vyn med kompileringsfel.
-Du kan skapa en skrivskyddad vy med hjälp av WITH READ ONLY-satsen.
-Oracle 9i tillåter att skapa begränsningar för vyer.
– Restriktioner för åsikter upprätthålls inte, de är deklarativa begränsningar. För att upprätthålla begränsningar måste du skapa begränsningarna på bastabellerna. Du måste alltid inkludera DISABLE NOVALIDATE-satsen när du skapar begränsningar för vyer.
Behörigheter som krävs för att skapa oracle view
För att skapa en vy i ditt eget schema måste du ha systembehörigheten CREATE VIEW. För att skapa en vy i en annan användares schema måste du ha systembehörigheten CREATE ANY VIEW.
Exempel på att skapa Oracle Views
View Creation Create view emp_data as select e.empno,e.ename,e.sal,e.deptno,d.dname From emp e, dept d where e.deptno=d.deptno; Create view emp_high_sal as select empno,ename,sal From emp where sal > 100000;
Describe the views Desc Emp_data Desc emp_high_sal Select the data from view Select * from emp_data; select * from emp_high_sal
Hur man ändrar Oracle View/hur man ändrar vyn i Oracle
Vi kan ändra vyerna med kommandot skapa eller ersätt vy. Detta gör det möjligt att ändra vy utan att släppa, återskapa och ombevilja objektprivilegier. Det finns inget sådant kommando som ändra vy lägg till en kolumn eller ändra vy ändra kolumnen. Vi måste gå igenom metoden skapa eller ersätta vy
Create or replace view emp_high_sal as select empno,ename,sal From emp where sal > 200000;
Detta kommando skapar vyn om den inte finns och ändrar vyn om den finns. Alla plsql-enheter som har åtkomst till vyn blir ogiltiga efter vyändringen
Hur man kompilerar vy i Oracle
Återkompilera en vy görs med hjälp av
ALTER VIEW
Alter view emp_high_sal compile;
Hur man släpper vyn i Oracle
Att släppa en vy görs med kommandot DROP VIEW.
Att ta bort en vy har ingen effekt på de bastabeller som vyn är baserad på. Användare som hade tillgång till data från bastabellerna med hjälp av view kommer inte längre att kunna komma åt data från bastabellerna.
DROP VIEW view_name;
Drop view emp_high_sal ;
Skapa Force Oracle Views/force view i Oracle
En vy kan skapas även om den definierande frågan för vyn inte kan köras med kommandot CREATE FORCE VIEW. En sådan vy kallas en vy med fel . Det här alternativet kan vara användbart för import-/installationsverktyg för att skapa en vy innan de underliggande objekten är närvarande.
Låt oss ta ett exempel för att förstå det. Vi har inte ett bord som TEST. Men vi kan fortfarande skapa synen på det innan vi skapar tabellen med hjälp av kraftalternativet. Vyn kommer att skapas med ett kompileringsfel och förblir ogiltig
Create force view TEST_V as select col1,col2,col3 From test where col1 > 1000;
Skapa nu tabellen
create table TEST ( col1 number, col2 number, col3 number);
Nu kan du kompilera vyn och den blir giltig
alter view TEST_V compile;
Vad händer med vyn om bastabellerna tas bort?
Om de underliggande tabellerna släpps släpper Oracle inte vyn automatiskt. Den finns kvar i databasen och den kommer att vara i ett ogiltigt tillstånd. Om de underliggande tabellerna återskapas kommer de att bli giltiga igen
Oracle Views för att se Oracle View-data
Visa detaljer kan frågas från ordboken genom att fråga antingen USER_VIEWS, ALL_VIEWS eller DBA_VIEWS. Vyer är användbara för säkerhet och informationsdöljning men kan orsaka problem om de kapslas för djupt. Några av fördelarna med att använda vyer:
- Minska komplexiteten i SQL-satser
- Dela endast specifika rader i en tabell med andra användare
- Göm basbordets NAMN och ÄGARE
- Det finns tre kategorier av vyer
USER_% | Denna vy innehåller information om objekten som ägs av användaren endast för exempel USER_TABLES,USER_TAB_COLS |
ALLA-% | Denna vy innehåller information om de objekt som användaren kan komma åt i databasen. Exempel ALL_TABLES,ALL_TAB_COLS |
DBA_% | Denna vy innehåller information om alla objekt i systemet och dessa är begränsade vyer som är tillgängliga för användaren som har en DBA-roll Exempel DBA_TABLES |
DBA_% visningar om visningsinformation | ALLA_% visningar om visa information | USER_% visningar om visningsinformation | |
Kolumnen som kan uppdateras | DBA_UPDATABLE_COLUMNS | ALLA_UPDATABLE_COLUMNS | USER_UPDATABLE_COLUMNS |
Visa information om visning | dba_views | alla_vyer | user_views |
Lista alla vyer i Oracle
To list all views owned by the current user select view_name from user_views; To list all views in a database: Select owner,view_name from dba_views; To list views accessible to the current user: select view_name from all_views; To describe the view in sqlplus desc <view_name>
Hur man kontrollerar vydefinitionen i Oracle
Fråga kolumnen TEXT i tabellen DBA_VIEWS.
Syntax: SQL> set long 10000 SQL> select TEXT 2 FROM DBA_VIEWS 3 where OWNER = '<owner_name>' 4 and VIEW_NAME = '<view_name>';
Hur man extraherar vydefinitionen (DDL-satser) från en Oracle-databas utan att behöva gå igenom en stapel med ordboksvyer
Syntax: SQL> set long 1000 SQL> set pagesize 0 SQL>select DBMS_METADATA.GET_DDL('VIEW','<view_name>') from DUAL
Hoppas du gillar en detaljerad artikel om Oracle View. Jag har försökt svara på de populära frågorna om vyn som hur man skapar vy i oracle, Oracle skapar vy exempel, hur man ändrar vy i oracle, hur man kompilerar vy i oracle, hur man släpper vy i oracle, forcera vy i oracle , Hur man kontrollerar vydefinitionen i Oracle
Relaterade artiklar att läsa
oracle skapa en tabell:Tabeller är den grundläggande enheten för datalagring i en Oracle-databas. vi täcker hur man använder Oracle create table-kommandot för att skapa en tabell med en främmande nyckel /primärnyckel
externa tabeller i Oracle:Kolla in det här inlägget för information om användningen av den externa tabellen i Oracle med ett exempel, hur man skapa en extern tabell, hur man använder den
Sekvenser i Oracle:Vad är Sekvens i Oracle, Beskrivning av alla alternativ, Hur man skapar dem, Oracle 12c ny funktion för sekvenser, Hur man släpper och ändrar dem
Index i oracle:Kolla in Oracles indexinformation, olika typer av index i oracle med ett exempel, hur man skapar/släpper/ändrar indexet i oracle
Oracle Materialized Views :vad är Oracle materialized view, Oracle Materialized View Log, Uppdatera grupp, skillnad mellan vy och materialiserad vy
Hur man övervakar framstegen för uppdatering av materialiserade vyer
oracle alter table modify kolumntyp:Kolla in det här inlägget om hur man ändrar kolumner i oracle med hjälp av oracle alter-tabellen ändra kolumnen. Ändra kolumn kan ändra standardvärde, vilket tillåter inte null
uppdatera vyn i Oracle :kolla in det här inlägget för att uppdatera vyn i Oracle, infoga i vyn oracle, ta bort från vyn i Oracle-databasen
Rekommenderade kurser
Här är den trevliga Udemy-kursen för Oracle SQL
Oracle-Sql-Steg-för-steg :Den här kursen täcker grundläggande sql, går med, skapar tabeller och ändrar dess struktur, Skapa vy, Union, Union -allt och mycket annat . En bra kurs och måste-kurs för SQL-startare
The Complete Oracle SQL Certification Course :Det här är en bra kurs för alla som vill vara redo för SQL-utvecklare. En trevlig förklarad kurs
Oracle SQL Developer:Essentials, Tips and Tricks :Oracle Sql-utvecklarverktyget används av många utvecklare. Den här kursen ger oss tricks och lektioner om hur man effektivt använder den och blir en produktiv SQL-utvecklare
Oracle SQL Performance Tuning Masterclass 2020 :Prestandajustering är en av de kritiska och mest eftertraktade färdigheterna. Det här är en bra kurs för att lära dig om det och börja göra sql-prestandajustering