Az SQL*Plus használata
· SQL*Plus parancsokat
· SQL parancsokat
· PL/SQL blokkokat
Az SQL*Plus indítása (belépés):
Sqlplus név/jelszó.
Az SQL indítása után a parancssorban megjelenik a prompt (’SQL>’ formában),
SQL>
és utána be lehet vinni a parancsokat. A parancs végét a ’;’ karakterrel jelöljük. A parancs végrehajtása után újból megjelenik az SQL> prompt.
Ha Oracle adatbáziskezelő használata esetén az sqlplus programba sysdba-ként szeretnénk bejelentkezni, akkor azt a következő módon lehet megtenni:
sqlplus sys/password@ora as sysdba
sqlplus "sys/password@ora as sysdba"
Ha egy scriptet is szeretnénk elindítani, akkor azt így lehet megtenni:
sqlplus sys/password@ora as sysdba @script.sql
sqlplus "sys/password@ora as sysdba" "@script.sql"
A macskakörmös változat Powershellben is működik, és nem kapunk hibaüzenetet a @ miatt.
A parancssor – olyan sor a képernyőn, ahová egy parancsot írhatunk.
Az
SQL> HELP <parancs> -- megadja a parancs struktúráját, paramétereit.
Az utolsó bevitt parancs a SQL-pufferben tárolódik. Az SQL-puffer tartalmával a következő műveleteket lehet végrehajtani:
Parancs | A parancs rövid változata | Leírás |
APPEND szöveg | A szöveg | Szöveget bevinni a puffer végére |
CHANGE /szöveg | C /szöveg | Törli a szöveget a puffer utolsó sorából |
CLEAR BUFFER | C BUFF | Törli a SQL-puffert |
DEL n | - | Törli a puffer n-ik sorát |
INPUT | I | Bevinni egy sor tartalmát a pufferbe |
INPUT szöveg | I szöveg | Szöveg a pufferbe |
LIST | L | SQL-puffer tartalmát a képernyőre |
EDIT | ED | Szerkesztésre megnyitja a puffer tartalmát |
EDIT file | ED file | Szerkesztésre megnyitja az állományt (ugyan úgy, mint a puffert) |
Példa.
SQL> LIST
1 SELECT *
2 FROM
3 hr.jobs;
Ha a parancs hibát tartalmaz, akkor azt az SQL*Plus jelzi
SQL> SELECT
1 job
2 FROM
3 hr.jobs;
job
*Error at line 2:
ORA-00904: „JOB”: invalid identifier
Elegendő csak a hibás sort kijavítani
SQL> 2 job_id
SQL> / -- / - a parancs végrehajtása, vagy
SQL> RUN
Ha a puffer tartalmaz egy parancsot, akkor azt a RUN paranccsal lehet megjeleníteni és végrehajtani.
Példa.
Legyen a puffer tartalma
SELECT job_id FROM Hr.jobs,
akkor
SQL> RUN
1 SELECT job_id FROM Hr.jobs
job_id
-------
ad_pres
pr_rep
10 rows selected.
SQL*Plus parancsok
CLEAR SCREEN : képernyő törlése
CLEAR BUFFER : buffer törlése
EXIT : kilépés az SQL*Plusból
HELP parancsnev : egy SQL*PLus parancsról kérhetünk segítséget
HELP INDEX : felsorolja a parancsokat
SHOW ALL : SQL*Plus paraméterek listája
SHOW parameter : adott paraméter értéke
SET parameter ertek : adott paraméter beállítása
DESCRIBE tablanev : adott tábla szerkezetének kiírása
Általában a parancsszavak rövidíthetők
DEFINE : definiált felhasználói változók listázása
DEFINE valtozo = ertek : változó definiálás
UNDEFINE valtozo : változó törlése
ACCEPT valtozo PROMPT 'szoveg' : változó értékének bekérése a szoveg megjelenítésével
Nyelvi elemek:
Definiáljunk egy változót: DEFINE nevem = 'Balazs Peter' (alapból
minden keppen string lesz, az ACCEPT paranccsal explicite is meg lehet adni a típust)
ACCEPT nev PROMPT 'mi a nev:'
ACCEPT valtozo NUMBER PROMPT
Bekérés & paranccsal (a változó nem definiálódik):
SELECT owner,table_name FROM all_tables WHERE owner LIKE &name;
Adja meg a(z) name értékét: 'DEMO'
régi 1: select owner,table_name from all_tables where owner
like &name
új 1: select owner,table_name from all_tables where owner like
'DEMO'
Bekérés && paranccsal (a változó definiálódik):
SELECT owner,table_name FROM all_tables WHERE owner LIKE &&name;
Adja meg a(z) name értékét: 'DEMO'
Ha nem akarjuk megjeleníteni a tárolt parancs tartalmát, akkor a / parancsot kell alkalmazni.
Az AB Adminisztrátor fontosabb parancsai a SQL*Plus-ban:
- STARTUP (elindítja az AB-ist)
- SHUTDOWN (megállítja az Oracle-példányt)
- ARHIVE LOG (elindítja, vagy megállítja az automatikus archiválást).
DESCRABE parancs
A DESCABE paranccsal az objektumokról összefoglaló információt lehet lekérdezni. Például, meg lehet tudni, hogy milyen a customer tábla struktúrája
SQL> DESCRIBE customer
Name Null? Type
--------------------------------------------------------------
LAST_NAME NOT NULL VARCHAR2(50)
STATE_CD NOT NULL VARCHAR2(2)
SALES NOT NULL NUMBER
Az SQL parancsok végrehajtására az SQL*Plus-ban.
SQL> CREATE TABLE customer
2 (customer_id NUMBER(10) NOT NULL,
3 surname VARCHAR2(30) NOT NULL,
4 first_name VARCHAR2(20),
5 sales_region CHAR(2),
6 ytd_sales NUMBER(10.2),
7 total_sales NUMBER (14.2) );
SQL> ALTER TABLE customer
2 ADD tax_exemp_ind VARCHAR2(1);
SQL> ALTER TABLE customer
2 DROP COLUMN tax_exemp_ind;
EXECUTE (EXEC) parancs
Ezzel a paranccsal program-egységeket lehet futtatni. Például, tárolt eljárásokat.
Példa.
Először létrehozunk egy HR.Test nevű függvényt:
CREATE FUNCTION HR.Test(i IN INTEGER) RETURN INTEGER
AS
n NUMBER;
BEGIN
n:=i*100;
RETURN(n);
END;
/
Utána megadjuk az INPUT N paramétert, és végrehajtjuk a függvényt. Az eredményt a PRINT parancs jeleníti meg.
SQL> variable n number
SQL> EXECUTE :n:=HR.Test(10);
PL/SQL procedure successfully completed.
SQL> PRINT n
N
…………….
1000
A SHOW ALL parancs által meg lehet nézni az SQL*Plus összes beállításait.
Az SQL*Plus parancsokat és azok eredményeit a
SPOOL < állomány_név>
paranccsal egy (output) állományba lehet elhelyezni.
Ez a beállítás csak akkor kezd működni, amikor azt bekapcsoljuk (OUT)
SPOOL OUT
A kikapcsolás (OFF) a
SPOOL OFF
paranccsal történik.
Példa.
SQL> SPOOL Test.log
SQL> SELECT * FROM all_objects WHERE owner=’HR’;
SQL> SPOOL OFF
Így script-állományokat lehet létrehozni, és azokat a
SQL> @Test.log
parancs segítségével végrehajtani.
Az Oracle tartalmaz egy úgy nevezet DUAL táblát. A DUAL – egyetlen sorból és egyetlen oszlopból álló tábla Az Oracle bemutatásához alkalmazzák. A parancsokban ezt a táblát akkor célszerű alkalmazni, amikor a parancsban táblára nincs szükség, de az SQL-parancs tartalmaz FROM záradékot, melyben meg kell adni bármilyen tábla-nevet, és ez lehet a DUAL tábla. A DUAL tábla tulajdonosa SYS.
Példa.
SELECT SYSDATE FROM dual;
SYSDATE
-------------
2021.08.27
-- PLSQL beállító rész
set pagesize 0
set linesize 5000
set trims on
set head off
set feed off
--set termout off
set serveroutput on
truncate table klajosw.adatszolg;
commit;
valtozokat tartalmazo kifejezesek
karakteres fuggvenyek
numerikus fuggvények
dátum függvények
konverzios fuggvenyek
halmaz muveletek
Az adatszótár leggyakrabban használt nézetei:
· ALL_CATALOG – a felhasználó számára elérhető táblák, nézetek, szinonimák, szekvenciák
· ALL_INDEXES – a felhasználó számára elérhető indexek
· ALL_IND_COLUMNS – a felhasználó számára elérhető táblákra épített indexek oszlopai
· ALL_OBJECTS – a felhasználó számára elérhető objektumok
· ALL_SEQUENCES – a felhasználó számára elérhető szekvenciák
· ALL_SYNONIMS – a felhasználó számára elérhető szinonimák
· ALL_TABLES – a felhasználó számára elérhető relációs táblák
· USERS_CATALOG – a felhasználó saját táblái, nézetei, szinonimái és szekvenciái
· USERS_TABLES – a felhasználó saját táblák leírása
· USERS_TRIGGERS – a felhasználó triggereinek leírása
Megjegyzések
Megjegyzés küldése