Podobne dokumenty
Oracle PL/SQL. Paweł Rajba.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Instalacja programu Sprzeda z motorem. bazy danych Pervasive V8

Zadania do wykonaj przed przyst!pieniem do pracy:

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze

Zarządzanie kontami użytkowników w i uprawnieniami

Architektura komunikacji

Wiersz poleceń Windows

Administracja bazy danych Oracle 10g

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Tworzenie raportów XML Publisher przy użyciu Data Templates

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Instalacja programu Sprzeda

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Instrukcja obsługi programu Pilot PS 5rc

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Instrukcja Obsugi Programu

Oracle11g: Programowanie w PL/SQL

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Klonowanie MAC adresu oraz TTL

LABORATORIUM INFORMATYKI 0

KATEGORIA OBSZAR WIEDZY

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

Administracja bazy danych Oracle 10g

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Oracle database 10g Express edition - darmowa baza danych dla małych i rednich firm

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Bloki anonimowe w PL/SQL

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Oracle11g: Wprowadzenie do SQL

Zaawansowane bazy danych i hurtownie danych semestr I

Przewodnik Szybki start

I. Program II. Opis głównych funkcji programu... 19

Środki Trwałe v.2.2. Producent: GRAF Serwis Roman Sznajder Ustroń ul. Złocieni 4/1 tel ,

Instrukcja obsługi dodatku InsERT GT Smart Documents

Projektowanie systemów baz danych

PODSTAWY BAZ DANYCH 13. PL/SQL

Uprawnienia, role, synonimy

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA

Typy bazy danych Textract

Bazy danych i strony WWW

Bazy danych, 4. wiczenia

Kreator automatycznego uaktualniania firmware'u

EC4P Pierwszy program w 6 krokach

Program Import Kontrahentów XLS dla Subiekta GT.

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Szkolenie MS Word i MS Excel

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Terminologia baz danych

netster instrukcja obsługi

ROZDZIAŁ I. BUDOWA I FUNKCJONOWANIE KOMPUTERA PC

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management

Lekcja 6 Programowanie - Zaawansowane

Symfonia Produkcja. Kreator raportów. Wersja 2013

Język PL/SQL Procedury i funkcje składowane

Komunikacja z bazą danych psql

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Podłczenie HMI do LOGO!..0BA7 (WinCC Basic V11)

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

geometry a w przypadku istnienia notki na marginesie: 1 z 5

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

CYKL ZAJ POZNAJEMY POWER POINT

Ćwiczenie 4. Użytkownicy

(a) T (b) N (c) N (d) T

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

PAMIĘĆ OPERACYJNA...107

Zapytania i wstawianie etykiet z bazy danych do rysunku

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Projektowanie bezpiecze stwa sieci

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Sposoby przekazywania parametrów w metodach.

Mozilla Thunderbird PL

INSTRUKCJA OBSŁUGI PROGRAMU C-STATION

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Pracownia internetowa w szkole ZASTOSOWANIA

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Autorzy: Kraków, stycze 2007 Łukasz Dziewanowski Filip Haftek (studenci AGH III roku kierunku Automatyka i Robotyka)

Polecenia wewnętrzne:

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Oracle10g: Programowanie w PL/SQL

Opis przedmiotu zamówienia

ROZSZERZANIE MOŻLIWOŚCI...

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Sylabus Moduł 2: Przetwarzanie tekstów

Administracja bazami danych

Laboratorium Systemów Operacyjnych Komputerów Tryb linii komend i programowanie wsadowe w systemach DOS/Windows

Transkrypt:

Praca z SQL Plus

Agenda Dlaczego SQL*Plus Wersje SQL*Plus w Oracle na systemie operacyjnym Windows Uruchamianie SQL*Plus i łczenie si z baz danych Rozwizywanie problemu ORA-01034 ORACLE not available Wykonywanie zapisanych zapyta Domylny katalog dla SQL*Plus Polecenie host Praca z edytora tekstu z poziomu SQL*Plus Czyszczenie ekranu za pomoc CLEAR SCREEN

Agenda Jak efektywnie uywa SQL*Plus Przydatne ustawienia Jak zmieni rozmiar i nazwy czcionki w SQL*Plus Jak zignorowa puste linie w SQL*Plus? SQL*Plus i zmienne zwizane Jak zapisa wyeksportowa wyniku zapytania do plik Excel Jak zakoczy prac z SQL*Plus Dokumenty, zasoby

Dlaczego SQL *Plus Miejsce SQL*Plus w rodowisko Oracle SQL*Plus jest programem dostpu do bazy danych Oracle w trybie znakowym, który jest instalowany przy kadej instalacji baz danych Graficzne narzdzia, wygodne, - nie zawsze dostpne, - komercyjne, róne interfejsy rónych producentów isqlplus - dostpny w Oracle 10g W starszych wersjach SQL * Plus - podstawowe narzdzie do administracji wraz z Server Manager (svrmgr do wersji bazy danych Oracle 8.2) (teraz Oracle Enterprise Manager)

Historia SQL*Plus Oryginalna nazwa UFI (User Friendly Interface) Autor narzdzia SQL*Plus Bruce Scott. Kady DBA i uytkownik zaawansowany zna uytkownika Scott z hasło tiger - właciciel schematu Scott z przykładowymi tabelami, które s instalowane z kad wersj baz danych Oracle, któr instalujemy z przykładowymi schematami pocztkowo wprowadzanie kwerend i otrzymywanie ich wyników; nastpne moliwoci skryptowe - raz przetestowa, zachowa zapytania formatowanie wyników zapyta

Do czego jest uywany SQL*Plus Wsadowe wykonywanie polece SQL (wykonywanie skryptów SQL); Interaktywne wykonywanie polece SQL - wprowadzanie, redagowanie, zachowywanie, drukowanie, wykonywanie; Wykonywanie bloki PL/SQL /Blok PL/SQL - grupa powizanych operatorów PL/SQL, które tworz blok anonimowy (nienazwany); Formatowanie wyników zapyta w raporty i eksportowanie ich do Excela, do plików tekstowych lub strony HTML; Uzyskanie informacji o obiektach przechowywane w bazy danych (describe);

Do czego jest uywany SQL*Plus Kopiowanie danych midzy instancjami (copy); Administracja instancji bazy danych (teraz przewanie z uyciem Oracle Enterprise Manager) - uruchamianie skryptów podczas instalacji (aktualizacji, migracji) produktów Oracle; Eksport (ekstrakcja) informacji z bazy danych do płaskiego pliku. - dane o stałej szerokoci kolumn; - comma-delimited file - plik stosujcy przecinek, przy eksportu informacji, która póniej jest wprowadzana do Excela lub Ms Access. Tworzenie kodu SQL poprzez zapytania SQL.

Ograniczenia SQL*Plus Co musimy bra po uwag? SQL*Plus ni jest w stanie zaprezentowa informacja która jest w - binarnej formie ani - typu LOB (multimedialna, dwikowa, graficzna...) W SQL*Plus brakuje stwierdzenie IF Nie ma moliwoci budowy ptli Jest bardzo ograniczone przetwarzanie błdów Jest bardzo ograniczone wsparcie kontroli wprowadzonych przez uytkownika wartoci.

Typy polece SQL*Plus Według autorów ksiki Oracle 8 server. Ksiga eksperta * mona wyróni sze typów polece SQL*Plus: inicjujce rodowisko SQL*Plus; polecenia wykonywalne SQL*Plus; polecenie edycyjne SQL*Plus; polecenia formatujce SQL*Plus; polecenia dostpu do rónych baz danych; inne polecenia. * Joe Greene, Oracle 8 server. Ksiga eksperta, Helion 2000, s. 526

Typy polece SQL*Plus Data Definiton Language (DDL) polecenia, które umoliwiaj nam konserwowa i modyfikowa baz danych - CREATE TABLE tworzy tabele, - CREATE TABLESPACE tworzy przestrzenie tabel (tablespaces) - CREATE INDEX - CREATE USER Data Manipulation Commands (DMC) - INSERT, UPDATE, DELETE, SELECT

Wersje programu SQL*Plus w systemach operacyjnych Windows S dwie wersje programu SQL*Plus w systemach operacyjnych Windows: - sqlplusw.exe wersja dla systemu Windows - sqlplus.exe wersja dla systemu Ms DOS.

Uruchamianie SQL*Plus i łczenie si do baz danych W celu uruchomienia SQL*Plus naley: - wybra program SQL*Plus z programów - wybra skrót do programu SQL *Plus - wybra cieka i program Przy uruchomieniu programu bez parametrów si pojawia okno dialogowe w którym naley wprowadzi - User (Uytkownik) - Password (Hasło) - Service (Nazwa usługi łczenia do bazy danych) Porgram SQL*Plus mona uruchomi równie z parametrami sqlplusw user/password@serwis naprzykład sqlplusw student/student@wntest Uwaga w systemach Linux/Unix polecenie sqlplus musi by wprowadzone małymi literami, poniewa te systemy odróniaj małe i due litery i Root <>root, SqlPlus<>sqlplus.

Uruchamianie SQL*Plus i łczenie si do baz danych Jeeli chcemy uy opcji roli (SYSDBA, SYSOPER) w systemie operacyjnym Ms Windows user/password@instance role musz by ujte w. Z poziomu MS-DOS wpisujemy: Sqlplusw student/student@wntest as SYSDBA sqlplusw /nolog uruchamia SQL*Plus bez łczenia si do bazy danych Naley wykona polecenia CONNECT USER/PASSWORD@SERVICE w celu połczenia z baz danych. SQL>CONNECT student/student@wntest; SQL> CONNECT scott/tiger@wntest; Poprzez polecenie CONNECT równie moemy si przełcza midzy instancjami bazy danych naprzykłd SQL>CONNECT student/student@lntest;

Uruchamianie SQL*Plus i łczenie si do baz danych Mona równie ukaza w wierszu polece przy uruchamianiu SQL*Plus nazwa pliku, który ma by wykonany przy uruchamianiu SQL*Plus sqlplusw user/password@service @file_name.sql sqlplusw @file_name Ze wzgldów bezpieczestwa sqlplusw user/password@service @file_name.sql wyej podane logowanie naley unika. Jeeli przy uruchomieniu SQL*Plus wstawimy -S program SQL*Plus nie wywietli informacji o wersji bazy danych do której si połczylimy. Sqlplusw -S user/password@service

Co jeeli nie moemy si połczy z instancj bazy danych Jeeli si pojawi przy próbach uruchomienia SQL*Plus: ORA-01034 ORACLE not available / baza danych Oracle jest niedostpna/ ORA-27101 Shared memory realm does not exist naley najpierw z poziomu Oracle Enterprise Manager uruchomi (startup) instancji bazy danych i wtedy si połczy za pomoc SQL * Plus Administrator bazy danych moe ograniczy dostp uytkowników do bazy danych Oracle z uyciem SQL*Plus poprzez tabel PRODUCT_USER_PROFILE lub poprzez PROFILES.

Jak uzyska pomoc? SQL>HELP SQL>HELP INDEX pokazuje listy dostpnych tematów pomocy SQL>HELP TOPIC pokazuje listy dostpnych tematów pomocy, kady na osobnym wierszu. Nastpne moemy wpisa polecenia dla którego chcemy uzyska pomoc naprzykład SQL>HELP [POLECENIE] SQL>HELP CL lub SQL>HELP CLEAR

Polecenia SQL*Plus Wszystkie polecenia SQL*Plus s niezalenie od wielkoci liter - moemy stosowa małe, due lub małe i due litery. Polecenia SQL>clear screen SQL>CLEAR SCREEN SQL>CLEAR screen s równowane. Uwaga nazwy plików w skryptach SQL w zalenoci od systemu operacyjnego s lub nie zalenie od wielkoci liter. W Windows nie mamy zalenoci, natomiast w Unix/Linux jest zaleno nazwy plików od wielkoci liter i Nasze_zapytanie.sql nie jest jednakowe z nasze_zapyanie.sql.

Wykonywanie polece SQL*Plus Polecenia SQL*Plus nie musz by zakoczane ;, ale mona na koniec wstawia ;. HOST lub HOST;

Bufor SQL*Plus SQL*Plus przechowuje w buforze kopi ostatnie wykonanej kwerendy (zapytania) lub blok PL/SQL. Tam równie jest przechowywana tre wprowadzonego zapytania. W buforze s przechowywane polecenia SQL, bloki kodu PL/SQL ale nie polecenia SQL*Plus. Na przykład w buforze nie bdzie przechowywane SET SERVEROUTPUT ON. Zawarto bufora mona zachowa na dysku w plik, który póniej mona wykona jako skrypt SQL. SAVE nazwa_pliku[.ext] [CRE[ATE] REP[LACE] APP[END]]

Skrypt SQL Skrypt SQL jest plik tekstowy, który zawiera jedna lub wicej kwerend (zapyta). W nim moe by odwołanie do kolejnych skryptów SQL. W momencie wykonywania zapyta z pliku SQL one s wykonywane tak, ja by były wprowadzane z klawiatury. Skrypt SQL moe zawiera zapytania SQL, polecenia SQL*Plus, bloki SQL. W skryptach SQL moemy przechowywa naszej wiedzy dotyczcej administracji, strojenia, ldowania danych, okrelonej wiedzy biznesowej... Skrypty oszczdzaj czas i pomyłek przy ponownym wprowadzeniu zapytania. Skrypty SQL s uywane przez firmy Oracle przy instalacji bazy danych, jej aktualizacji, migracji, przy instalacji nowych produktów.

Wykonywanie zapisanych zapyta, kwerend SQL>START d:\oracle\product\10.1.0\wntest\bin\test SQL>@nazwa_zapytania.??? /jeeli rozszerzenie??? Zapytania jest sql??? Moe by ominite/ Na przykład jeeli mamy - zapytanie_1.sql - zapytanie_2.txt w celu ich wykonania naley: SQL >@zapytanie_1.sql jest jednakowe z SQL >@zapytanie_1 SQL >@zapytanie_2.txt

Wykonywanie zapisanych zapyta, kwerend @@ - działa tak samo jak @ z tym rónicy, e poszukuje skryptu w katalogu z którym był zapuszczony główny skrypt. Jest uywane do wykonywania zapyta SQL, które zawieraj odwołania do kilku plików SQL w tym samym katalogu. Naprzykład plik wykonaj.sql posiada @@wykonaj101 @@wykonaj102 @@wykonaj103

Wykonywanie zapisanych zapyta, kwerend W SQL*Plus zapytania s zakoczane: ; / pusty wiersz Symbol ; oznacza wykonywanie zapytania. Symbol / oznacza, e trzeba wykona zapytania. Pusty wiersz oznacza, e jest zakoczone wprowadzanie zapytania ale jeszcze nie naley go wykonywa. Uwaga - puste wiersze w długich zapyta w celu czytelnoci zapytania. Ustawienia rodowiskowe SET SQLBLANKLINES.

Wstawianie komentarzy W skryptach SQL w celu ich łatwiejsze czytanie, uporzdkowanie naley stosowa nagłówki, które okrelaj: do czego jest uywany dany skrypt, w której wersji bazy danych jeeli jest z Internetu, z której strony autor skryptu data utworzenia skryptu grupa do której naley dany skrypt przykłdowe wywołanie skryptu przykładowe wyniki działania skryptu

Wstawianie komentarzy REM [ARK] - komentarz na jednym wierszu /*... Komentarze na kilku wierszach obowizkowo z spacji po /* i spacji przed */ */ -- komentarz na jednym wierszu W komentarzach nie wolno uywa &

Wstawianie komentarzy Rem - Zapytanie o placach w schemacie Scott -- To te jest komentarz SELECT ename, sal from scott.emp; /* Teraz wstawiamy kometarze na dwóch wierszach */ @d:\oracle\product\10.1.0\wntest\bin\komentarze

Polecenie host Poleceniem: SQL>host SQL>ho SQL>$ lub lub widzimy nasz katalog roboczy. Jestemy w stanie wykona polece MS DOS i wróci z powrotem do SQL*Plus po wpisaniu polecenia exit. Równie, moemy wykona polecenie systemu operacyjnego i wróci do SQL*Plus automatycznie po wykonaniu polecenia $ dir

Domylny katalog dla SQL*Plus Dlaczego jest wane ustawiania domylnego katalogu? Stosujc domylny katalog nie musimy wprowadza pełn ciek dostpu do skryptu, którego chcemy wykona, uruchomi. W domylnym katalogu s zapisywane pliki tymczasowe przez SQL*Plus. Katalog BIN przechowuje programy i nie jest zalecane aby tam były przechowywane skrypty SQL. W produkcyjnych rodowiskach moemy mie podkatalogi na przykład TUNING, EXPORT...

Domylny katalog dla SQL*Plus Jaki jest domylny katalog dla SQL*Plus? Domylnym katalogiem dla SQL*Plus jest ten katalog, - w którym uytkownik był w momencie uruchomienia SQL*Plus; - $ORACLE_HOME\BIN. ORACLE_HOME oznacza główny katalog, w którym jest zainstalowane oprogramowanie Oracle.

Domylny katalog dla SQL*Plus Katalogi, które s przeszukiwane o skryptach SQL s okrelane w zmiennej rodowiskowej SQLPATH. W celu jej zmiany naley edytowa rejestr Windows. - Uruchamiany cmd\regedit32. - Wyszukujemy SQLPATH i edytujemy tej zmiennej. Inna moliwo jest przejcie do katalogu w którym s przechowywane nasze pliki sql i uruchomienie stamtd SQL*Plus poprzez wykonywanie polecenia ORACLE_HOME\bin\sqlplusw.exe w naszym przypadku Oracle\client\bin\sqlplusq.exe

Polecenie DESCRIBE Poleceniem DESCRIBE (DESC) uzyskujemy opis tabeli, widoku (perspektywy), synonimu, opis funkcji lub procedury. DESCRIBE schema.obiekt@serwis Naprzkład chcemy uzyska opis tabeli hr.regions. Orzymamy opis kolumn, typ danych, długo (ile znaków po przecinku) DESCRIBE hr.regions@wntest lub DESC hr.regions@wntest

Polecenie DESCRIBE Druga metoda uzyskania informacji jest Oracle Data Dictionary - zbiór tabel systemowych, które zbieraj informacji o obiektach w bazie danych (repozytorium informacji o obiektach w bazie danych). Właciciel tabeli opisujcych obiektów w bazie Oracle jest uzytkownik SYS. W celu uzyskaniu informacji o tabele hr.regions naley zada pytanie do dwóch tabel z Oracle Data Dictionary: - ALL_TABLES; - ALL_TAB_COLUMNS.

Polecenie DESCRIBE Jeeli nas interesuje kwestia bezpieczestwa - kto ma dostp do danej tabeli, to moemy uzyska odpowied z widoków: - ALL_TAB_PRIVS - ALL_COL_PRIVS - DBA_TAB_PRIVS_MADE - DBA_COL_PRIVS_MADE W celu dostpu do powyszych widoków, kiedy chcemy uzyska informacj o tabelach, które maj inny właciciel ni my musimy posiada uprawnienia DBA.

Polecenie DESCRIBE W celu uzyskaniu informacji o indeksach w bazie naley uy tabeli: - ALL_INDEXES - ALL_IND_COLUMNS. Moemy uzyska informacji o - wszystkich indeksach zwizanych z dan tabel lub - opis jednego indeksu

Polecenie DESCRIBE Wyzwalacze (triggers) Informacja o wyzwalaczach (triggers) jest przechowywana w: - ALL_TRIGGERS; - ALL_TRIGGER_COLS Synonimy (alternatywna nazwa tabeli) Kiedy w naszych programach zamiast tabeli uywamy ich synonimy zabezpieczamy si przed zmian w nazwy, właciciela, miejsca tabeli. W celu otrzymaniu informacji o synonimach naley zada zapytanie do tabeli ALL_SYNONYMS.

Polecenie PROMPT Wywietla na monitorze pusty wiersz lub zawarto tekstu. PRO [MPT] <tekst> Polecenie PROMPT jest stosowane do opisu jakiej informacji dostarcz dany skrypt, zapytanie, raport. Polecenie PROMPT jest stosowane wraz z ACCEPT w celu wywietlania informacji dotyczcej wprowadzania niezbdnej informacji.

Polecenie ACCEPT Polecenie ACCEPT prosi uytkownika o podaniu wartoci zmiennej i zapisuje tej wartoci w zmiennej uytkownika. Polecenie ACCEPT pozwała w pewnym stopniu kontrolowa wartoci, których uytkownik prowadza (typ danych). Na przykład uytkownik nie moe wprowadzi litery, tam gdzie s wymagane wartoci. ACC [EPT] <nazwa_zmiennej> [<typ zmiennej>] FOR [MAT] <format> [DEF [AULT] <warto_domylna>] typ_zmiennej ::= NUM [BER] CHAR DATE SQL> PROMPT SQL> PROMPT Prosz wprowadzi minimalnej płacy (850) SQL> ACCEPT sal_min number prompt Minimalna_płaca:

Polecenie ACCEPT SQL> PROMPT SQL> PROMPT Prosz wprowadzi minimalnej płacy (850) Prosz wprowadzi minimalnej płacy (850) SQL> ACCEPT sal_min number prompt Minimalna_płaca: Minimalna_płaca: 870 SQL> SELECT ename, sal from scott.emp where sal>&sal_min; old 1: SELECT ename, sal from scott.emp where sal>&sal_min new 1: SELECT ename, sal from scott.emp where sal> 870 ENAME Płaca ---------- ------ ALLEN 1,600 WARD 1,250 JONES 2,975 13 rows selected.

Metodologia tworzenia raportów w SQL*Plus Zbieranie informacji, podejmowanie decyzji wraz z uytkownikiem dla którego jest przeznaczony dany raport Jakie informacje potrzebujemy Jaki tytuł raportu - Data czas wykonania raportu Jaka czstotliwo wykonania Jakie zmienne bd okrela zakres raportu Jakie kolumny w raportu Czy bdzie suma i suma czstkowa w raporcie (TOTAL, SUBTOTAL) Nagłówek raportu Które tabele bdziemy uywa?

Metodologia tworzenia raportów w SQL*Plus Kto bdzie wykonywał dany raport (jako uytkownik biznesowy, administrator, uytkownik z wikszymi uprawnieniami) Czy tworzy skrót do automatycznego wykonywania raportu w którym s przechowywane uytkownik i hasło? Zasada bezpieczestwa, role... Jaka wersja SQL*Plus w Windows bdzie uywana sqlplus lub sqlplusw? Jaka nazwa skryptu tworzcego raportu? W jakim katalogu bdzie przechowywany? Uwagi, które wyjaniaj kwestie zwizane z raportu w celu uniknicia dwuznacznoci w jego interpretacji.

Metodologia tworzenia raportów w SQL*Plus Cały proces tworzenia raportu - zapyta SQL zachowujemy w pliku dla póniejszego wykonania lub zmiany. Proces tworzenia raportu jest interaktywny proces - budowa zapytania; - formatowanie wyników zapytania; - rozmiar strony - parametr ile wiersze na strony SET NEWPAGE 0 SET PAGESIZE 55 - ile symbole na wierszu SET LINESIZE 80 - nagłówek raportu TTITLE CENTER NAZWA RAPORTU SKIP 2 - LEFT ODDZIAL LEFT ============================= - =============================

Metodologia tworzenia raportów w SQL*Plus - stopka raportu BTITLE LEFT ------------------------------------------------------- - ------------------------------------------------------- SKIP 1 LEFT Uruchomił SQL.USER RIGHT Strona FORMAT 999 SQL.PNO - formatowanie nagłówek kolumn COLUMN pole_1 HEADING Nagłówek 1 FORMAT 999 COLUMN pole_2 HEADING Nagłówek 2 FORMAT A20 - WORD_WRAPED COLUMN pole_3 HEADING Data FORMAT A11

Metodologia tworzenia raportów w SQL*Plus - po zakoczeniu raportu wyłczenie tytułów i nagłówków TTITLE OFF BTITLE OFF - przerwy na stronach - BREAK - test pierwszego wariantu raportu; - wstawianie sum, sum czstkowych (TOTAL, SUBTOTAL) polecenia BREAK i COMPUTE - akceptacja i proponowanie zmian przez uytkownika; - kolejny wariant raportu

Metodologia tworzenia raportów w SQL*Plus - Komentarze, teraz wiemy co zrobilimy: - Czy za par miesicy bdziemy pamita? - Praca w grupie -- Nazwa pliku :...sql -- Działanie... -- Data Utworzenia -- Data Modyfikacji... -- Autor... -- Wymagana informacja wejciowa... -- Przykładowy wynik...

Formatowanie wyników zapytania W SQL*Plus moemy formatowa wyników zapytania w celu okrelenia jak maj by wywietlane dane, nazwa kolumn, nagłówki stron. Obecnie s dostpne graficzne narzdzia do edycji zapyta i eksportu wyników do Excelu (Toad) lub tworzenia raportów (Oracle Reports). W isqlplus wyniki zapytania s lepiej przedstawione ni w SQL*Plus. Podstawa formatowania wyników w SQL*Plus jest polecenie COLUMN COL [UMN].

Formatowanie wyników zapytania COL nazwa_kolumna format 9,999.99 ukazuje, e format kolumny nazwa_kolumna bdzie liczbowy z dwóch znaków po przecinu i, oddzielajca tysicach. COL nazwa_kolumna heading NAGLÓWEK KOLUMNY oznacza, e nazwa_kolumna bdzie miała nagłówek pod nazwy NAGLÓWEK KOLUMNY Naprzykład COL sal format 9,999.99 COL sal heading Płaca Select sal, ename from scott.emp;

Formatowanie wyników zapytania SET LINESIZE 80 ustała szeroko linii raportu na 80 symboli SET PAGESIZE 50 ustała liczb linii (50) na stronie raportu. SET TERMOUT OFF zapobiega wywietlaniu wyników zapytania na monitorze. Ta opcja jest uywana przy korzystaniu z polecenia SPOOL. SET ECHO OFF nie wywietla polece SQL.

Zapis w pliku i wydruk wyników wykonania zapytania Do tego celu jest wykorzystywane polecenie SPOOL SPO [OL] nazwa_pliku.??? OFF OUT Standardowe rozszerzenie nazwy pliku jest LST lub LIS Polecenie SPOOL OFF wyłcza spooling Polecenie SPOOL OUT wysyła wynik na drukarce. Jeeli ustawimy zmienn rodowiskow SET TERMOUT OFF wynik zapytania nie bdzie wywietlany na monitorze. W Windows domylny katalog plików jest $ORACLE_HOME\BIN. Ten katalog nie jest najlepsze miejsce dla przechowywaniu plików ze skryptami.

Praca z edytora tekstu z poziomu SQL*Plus Jeeli nam si nie podoba wbudowany w SQL*Plus edytor tekstu moemy stosowa domylny edytor (w Windows notepad; w Unix/Linux - VI) Kiedy jestemy w SQL * Plus i chcemy uruchomi domylnego edytora naley wpisa: SQL> edit nazwa_zapytania.sql lub SQL>ed plik.sql Uruchomi si domylny edytor SQL

Czyszczenie ekranu za pomoc CLEAR SCREEN Jeeli chcemy wyczy ekran naley zastosowa polecenia CLEAR SCREEN lub CL SCR

Strojenie zapyta SQL Uzyskanie informacji o czasie wykonywania zapyta SET AUTOTRACE ON OFF

Uzyskanie informacji o czasie wykonywania zapyta W celu uzyskaniu informacji o czasie niezbdnym dla wykonania poszczególnych zapyta (kwerend) i planowane ich wykonywaniu ( póniejsza ich optymalizacji) naley uy polecenia TIMING. TIMI[NG] START [nazwa_zegara] SHOW STOP Opcja START - uruchamia mierzenie czasu wykonywania kwerendy. Opcja SHOW pokazuje czas, który upłynł od uruchomienia zegara. Opcja STOP zatrzymuje zegara i go usuwa z bufora.

Uzyskanie informacji o czasie wykonywania zapyta timig start zegar select * from hr.regions; timing show timig stop W celu usunicia wszystkich uruchomionych zegarów naley zastosowa polecenia CLEAR TIMING. Jeeli ustawimy opcji rodowiska SET AUTOTRACE ON bdziemy utrzymywa po kadym wykonaniu zapytania jaki czas był potrzebny.

SET AUTOTRACE ON OFF Jeeli mamy zapytania, o których uwaamy, e s złe zoptymalizowane moemy uzyska informacje jak one s przetwarzane przez Oracle w celu optymalizacji ich wykonania. Stosujc ustawienia zmiennej rodowiskowej SQL*Plus AUTOTRACE na ON uzyskujemy analiza wykonania zapytania (EXPLAIN PLAN). SET AUTOTRACE ON Wykonanie zapytania, dla którego chcemy uzyska planu wykonania Utrzymanie na monitorze planu wykonania zapytania SET AUTOTRACE OFF - wyłcza tej opcji Przed uyciem opcji AUTOTRACE musi by utworzona tabela PLAN_TABLE, jeeli nie istnieje z uyciem skryptu UTLXPLAN.SQL. Problemy zwizane z uyciem tej metody napotykamy wtedy, kiedy chcemy uzyska plany wykonania zapyta, które maj długi czas wykonania.

Przydatne ustawienia Co jest przydatne zmieni, doda w SQL*Plus: Jeeli si łczymy do rónych instancji Oracle (rónych) baz danych jest przydatne wiedzie do której bazy si łczymy Równie jest przydatne wiedzie czas, który jest potrzebny do wykonania poszczególnych kwerend. Zmieni domylnego edytora w Windows z notatnik na Wordpad.exe lub vi.exe (dla pracujcych pod Unix/Linux) Jak to zrobi (osign)? W pliku konfiguracyjnym GLOGIN.SQL jest przechowywana informacja o personalizacji rodowiska SQL*Plus, która obowizuje dla wszystkich uytkowników danego komputera, którzy si loguj do bazy Oracle przy uyciu SQL*Plus. Plik GLOGIN.SQL jest wykonywany automatyczne przy kadym uruchomieniem SQL*Plus. W pliku konfiguracyjnym LOGIN.SQL jest przechowywana informacja o profilu uytkownika.

Przydatne ustawienia - nazwa instancji bazy danych Przechodzimy od katalogu ORACLE_HOME d:\oracle\client Przechodzimy do katalogu SQL Plus \sqlplus\admin Edytujemy lub tworzymy plik Glogin.sql Dodajemy nastpujcy tekst set lines 100 set pages 100 set termout off col dbname new_value prompt_dbname select substr(global_name,1,instr(global_name,. )-1) dbname from global_name; set sqlprompt &&prompt_dbname> set termout on set time on Herve Deschamps, Useful Prompt in SQL*Plus

Przydatne ustawienia - zmiana domylnego edytora z notatnik na wordpad Zmieni domylnego edytora w Windows z notatnik na Wordpad.exe lub vi.exe (dla pracujcych pod Unix/Linux) jest przydatne Naley skopiowa edytora z Program Files\Windows NT\Accessories do ORACLE_HOME\BIN Naley doda wiersz do glogin.sql define_editor= wordpad.exe

Polecenie DEFINE Polecenie DEFINE bez parametrów pokazuje ustawie zmiennych uytkownika - edytor - wersja instancji bazy danych - identyfikator serwisu (instancji) - uytkownika - rola SQL>define a=text SQL>define a DEFINE A = "text" (CHAR) UNDEFINE <nazwa_zmiennej> - parametr traci przyswojon mu warto poprzez polecenia DEFINE - usuwa zmienne uytkownika wprowadzone poprzez polecenia DEFINE.

Jak zmieni rozmiar i nazwy czcionki w SQL*Plus? Jeeli uruchomimy sqlplus.exe (nie sqlplusw.exe) to wybieramy lewy górny kt i lewym przyciskiem myszy wybieramy właciwoci. Moemy zmieni czcionki, kolory, układ. Jeeli chcemy zmieni czcionki dla sqlplusw (SQL*Plus dla Windows) to musimy zrobi te zmiany w rejestrach Windows. Uruchamiany cmd\regedit32. Wybieramy HKEY_LOCAL_MACHINE \SOFTWARE \ ORACLE \ ORACLE_HOME. Tworzymy nowe wpisy w rejestru: - SQLPLUS_FONT i wprowadzany czcionki, której chcemy uywa; - SQLPLUS_FONT_SIZE i okrelamy jaki rozmiar czcionki nam odpowiada. Zamykamy regedit i uruchamiamy sqlplusw.exe w celu zobaczenia czy jest efekt wskutek dokonanych przez nas zmian.

Jak zignorowa puste linie w SQL*Plus? Jeeli ten parametr nie jest ustawiony i mamy puste linie przy jego wykonaniu otrzymamy błd. W celu uniknicia błdów, kiedy mamy puste linie w skrypcie naley wprowadzi w SQL*Plus Set sqlblanklines on

Wykonywanie bloków PL/SQL PL/SQL jest jzyk programowania opracowany i rozwijany przez firm Oracle, który jest proceduralne rozszerzenie jzyka SQL. PL/SQL jest uywany do pisania przechowanych w bazie danych procedur, funkcji, pakietów, wyzwalaczy i zaczynajc od Oracle8 równie typy obiektowe. SQL*Plus był na pocztku jedynym narzdziem uywanym do pisaniu kodu PL/SQL, jego weryfikacji i wykonaniu.

Wykonywanie bloków PL/SQL W celu wprowadzenia bloków PL/SQL trzeb by w reimie PL/SQL. SQL*Plus przechodzi w tym stanie jeeli: - W wierszu polece SQL*Plus jest wprowadzone jedno z kluczowych słów DECLARE lub BEGIN. - Wprowadzone jest polecenie SQl, które jest uywane do tworzenia obiektów programowych, naprzykład CREATE PROCEDURE CREATE PACKAGE W celu zakoczeniu i wykonaniu bloku PL/SQL naley wprowadzi na nowym wierszu symbol /.

Wykonywanie bloków PL/SQL W celu wywietlenia wyników procedury (kodu) bloku anonimowego naley wprowadzi polecenie SET SERVEROUTPUT ON Ta opcja jest włczona do momentu zakoczenia pracy z SQL*Plus lub wydania polecenia SET SERVEROUTPUT OFF Przykładowy blok anonimowy (nienazwany) kodu PL/SQL. Wykonywany jest pakiet DBMS.OUTPUT. BEGIN DBMS.OUTPUT.PUT_LINE( Witam Was ); END; Po zakoczeniu wprowadzania kodu naley wpisa / na nowej linii.

Wprowadzenie wartoci parametrów w czasie wykonania Przy wykonywanie skryptów SQL moemy podawa wartoci parametrów w wierszu polece. SQL*Plus podstawia podan przez nas warto parametru w zapytaniu. Tak uzyskujemy bardziej inteligentny kod, nie musimy zmienia zapytania, jak si zmieniaj wartoci parametrów stosowanych do filtrowania, ograniczenia wyniku zapytania. @nazwa_skryptu parametr1, parametr 2... Parametr n Chcemy uzyska informacji o pracowników, którzy pracuj w departamencie 10 SQL>clear buffer /wyczyszczamy bufora/ SQL> input SQL>select ename, sal from scott.emp where deptno=&1 SQL>save d:\oracle\product\10.1.0\wntest\bin\placa SQL>@d:\oracle\product\10.1.0\WNTEST\BIN\placa 10

Wprowadzenie wartoci parametrów w czasie wykonania SQL>clear buffer /wyczyszczamy bufora/ SQL> input select ename, sal from scott.emp where deptno=&1 and sal>&2 save d:\oracle\product\10.1.0\wntest\bin\placa2 SQL>@d:\oracle\product\10.1.0\WNTEST\BIN\placa2 10 2500 chcemy uzyska informacje o pracowników, którzy pracuj w 10 departamencie i maj płac powyej 2500

Wprowadzenie wartoci parametrów w czasie wykonania SQL>select &func.(&col.) from &tab; Enter value for func: MAX Enter value for col: SAL Enter value for tab: scott.emp old 1: select &func.(&col.) from &tab new 1: select MAX(SAL) from scott.emp MAX(SAL) ---------- 5000 Uwaga jeeli zmienna jest przed symbolem bez odstpu naley po ni zastosowa.

Wprowadzenie wartoci parametrów w czasie wykonania SQL>Select max(&col), avg(&col), min(&col) from &tab; Enter value for col: sal Enter value for col: sal Enter value for col: sal Enter value for tab: scott.emp old 1: Select max(&col), avg(&col), min(&col) from &tab new 1: Select max(sal), avg(sal), min(sal) from scott.emp MAX(SAL) AVG(SAL) MIN(SAL) ---------- ---------- ---------- 5000 2073,21429 800

Wprowadzenie wartoci parametrów w czasie wykonania W celu tylko jednorazowego wprowadzania wartoci zmiennej, która jest uywana kilkakrotnie naley zamiast & zastosowa && SQL>Select max(&&col), avg(&&col), min(&&col) from &tab; Enter value for col: sal Enter value for tab: scott.emp old 1: Select max(&&col), avg(&&col), min(&&col) from &tab new 1: Select max(sal), avg(sal), min(sal) from scott.emp MAX(SAL) AVG(SAL) MIN(SAL) ---------- ---------- ---------- 5000 2073,21429 800 Uwaga w stosowaniu symbolu & w komentarzach!

SQL*Plus i zmienne zwizane (bind variables) Zmienne zwizane (bind variables) s uywane w celu podania wartoci dla skryptu SQL w którym nie chcemy eby optymalizator zmieniał planu wykonania zapytania. Zmienne zwizane (bind variables) s zmienne, które maj typ (number, varchar2...) i rozmiar, długo (20..). Stosujc zmienne zwizane (bind variables) w skryptach SQL*Plus moemy podawa wartoci które utrzymujemy w wyniku wykonania bloku PL/SQL z powrotem do SQL*Plus.

SQL*Plus i zmienne zwizane (bind variables) var gr1 number; var gr2 varchar2(20); exec :gr1 :=7369; exec :gr2 := GARRY ; print gr1; print gr2; select :gr1, :gr2 from dual; select * from scott.emp where empno= :gr1; SQL*Plus Tips, http://www.oracleadvice.com/tips/sqlplus.htm

Wybór tabeli do eksportu do select owner, table_name from all_tables where rownum<3; Excela select * from hr.regions;

Jak zapisa wyeksportowa wyniku zapytania do plik Excel Ten skrypt pokazuje jak wyeksportowa wyniku zapytania w SQL *Plus do pliku arkusza kalkulacyjnego SET LINESIZE 999 VERIFY OFF FEEDBACK OFF SET MARKUP HTML ON ENTMAP ON SPOOL ON PREFORMAT OFF DEFINE table_name=&l Enter value for l:hr.regions /tabela REGIONS naleca do uytkownika HR/ SPOOL & table_name..xls SELECT * FROM &table_name; SPOOL OFF SET MARKUP HTML OFF ENTMAP OFF SPOOL OFF PREFORMAT ON SET LINESIZE 80 VERIFY ON FEEDBACK ON Start Excel z SQL*Plus w graficznym trybie (sqlplusw.exe) HOST START excel.exe &table_name..xls

Jak zapisa wyeksportowa wyniku zapytania do plik Excel SET MARKUP HTML [ON OFF] [HEAD text] [BODY text] [ENTMAP {ON OFF}] [SPOOL {ON OFF}] [PRE[FORMAT] {ON OFF}] - podstawa do eksportu do arkusza kalkulacyjnego Excel

Administracja przy pomocy SQL*Plus Przy pomocy SQL*Plus (oraz Oracle Enterprise Manager) moemy: startowa, uruchamia baz danych STARTUP zatrzymywa baz danych SHUTDOWN [NORMAL] SHUTDOWN IMMEDIATE SHUTDOWN ABORT zmienia trybu archiwizacji SHOW LOGSOURCE SHOW AUTORECOVERY monitorowa uycie pamici - System Global Area (SGA) SHOW SGA zmienia parametry instancji

Polecenie SHOW Stosujc polecenia SHOW uzyskuje informacje o parametrach bazy danych i zmiennych rodowiska SHO[W] ALL PARAMETERS [parameter_name] SGA - wymaga uprawnienia DBA SPOO[L] SQLCODE USER LNO PNO REL[EASE] RECYC[LEBIN] [oryginalna_nazwa] BTI[TLE] / TTI[TLE]

Polecenie SET

Jak zakoczy prac z SQL*Plus? W celu zakoczenia pracy programu SQL*Plus naley wpisa: SQL>exit SQL>quit zamykanie okna SQL*Plus

Tematy, które nie rozpatrywalimy Polecenie COMPUTE Polecenie BREAK Polecenie PAUSE Polecenia redagowania w SQL*Plus /Append, Changes, Input, Del.../ oraz polecenie SAVE - zachowywanie zawartoci bufora do pliku Polecenie REPHEADER, REPFOOTER Polecenie COPY - kopiowanie danych z jednej do drugiej bazy danych Polecenie SAVE - zachowanie zawartoci buffera w pliku Ustawie rodowiska SQL*Plus Zachowanie w pliku zawartoci ustawie rodowiska SQL*Plus - STORE SET SHOW ALL - wywietlenie zmiennych rodowiska SQL*Plus Administracja bazy danych przy uyciu SQL*Plus

Dokumentacja na temat SQL*Plus http://www.oracle.com/technology/documentation/database10g.html http://otn.oracle.comh/sql_plus http://asktom.oracle.com http://otn.oracle.com/pls/db10g/portal.portal_demo3?selected=3#index- SQL SQL*Plus Quick Reference Release 10.1 December 2003 Part No. B12171-01 SQL*Plus Tips, http://www.oracleadvice.com/tips/sqlplus.htm Jonathan Gennick, Oracle SQL*Plus:The Definitive Guide, O Reilly, ISBN:1-56592-578-5 Bill Pribyl, Steven Feurstein, Oracle PL/SQL, Helion, 2002, s. 40-44 Joe Grene, Oracle 8 Server, Ksiga Eksperta, Helion, 2000, s. 526-544