==== 6. SQL*Plus interfész==== Az** SQL*Plus** az Oracle interfész-eszköze, amely által //SQL, SQL*Plus// parancsokat és //PL/SQL// blokkokat lehet végrehajtani.\\ **Az SQL*Plus indítása (belépés): ** \\ //Sqlplus név/jelszó.// Az SQL indítása után a parancssorban megjelenik egy //prompt-jel,// amelynek az alapértelmezése //SQL>.//\\ **Parancssor** – olyan sor az SQL*Plus-ban, ahová lehet beírni a parancsokat. A parancs végét ’;’ jellel jelölik. A parancs végrehajtása után újból megjelenik az SQL> prompt. A** SQL> HELP ** megadja a parancs struktúráját és paramétereit.\\ Az utolsó bevitt parancs a //SQL-pufferbe//n tárolódik. Az SQL-puffer tartalmával a következő műveleteket lehet végrehajtani:\\ ^Parancs^A parancs rövid változata^Múvelet leírása^ |APPEND szöveg |A szöveg|Bevinni a szöveget 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 a file-t (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 a RUN paranccsal azt 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| 2 rows selected. 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) * 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 AB objektumairó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| **Példák 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 beállításait.\\ Az SQL*Plus parancsokat és azok eredményeit a\\ **SPOOL** \\ paranccsal egy (output) fájlba lehet elhelyezni. \\ Ez a parancs csak akkor fog működni, ha az be van kapcsolva (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-fájlokat lehet létrehozni, és utána azokat a\\ SQL> @Test.log\\ parancs segítségével végrehajtani.\\ **DUAL tábla**\\ Az Oracle tartalmaz egy úgy nevezet DUAL táblát. A DUAL tábla egy sort és egy oszlopot tartalmaz.\\ A parancsokban ezt a táblát akkor alkalmazzák, amikor egy parancsban nincs szükség táblára,\\ de az SQL-parancs tartalmaz FROM záradékot, és melyben megadhatjuk a DUAL tábla nevét.\\ A DUAL tábla tulajdonosa SYS. \\ **Példa.** SELECT SYSDATE FROM dual;\\ ^SYSDATE^ |20.10.27|