<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>PL/SQL</title>
	<atom:link href="http://www.pl-sql.biz/feed" rel="self" type="application/rss+xml" />
	<link>http://www.pl-sql.biz</link>
	<description>leksykon internetowy</description>
	<pubDate>Wed, 24 Sep 2008 09:07:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>1.a Czym jest PL/SQL?</title>
		<link>http://www.pl-sql.biz/wstep/czym-jest-plsql-28</link>
		<comments>http://www.pl-sql.biz/wstep/czym-jest-plsql-28#comments</comments>
		<pubDate>Sat, 15 Mar 2008 15:13:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[1. PL/SQL]]></category>

		<category><![CDATA[pl/sql]]></category>

		<guid isPermaLink="false">http://90plan.ovh.net/~funnymat/www_pl-sql_pl/2008/03/15/czym-jest-plsql/</guid>
		<description><![CDATA[ako że rozkazy języka SQL okazały się niewystarczające do tworzenia efektywnych systemów baz danych, firma Oracle wprowadziła rozszerzenia proceduralne do swojej implementacji języka SQL tworząc język  PL/SQL.
PL/SQL to skrót od Procedural Language/Structured Query Language (język proceduralny/strukturalny język zapytań).
PL/SQL wzbogaca SQL o następujące elementy:

Możliwość deklaracji i używania zmiennych
Instrukcje sterujące kolejnością wykonywania się poleceń (instrukcje decyzyjne, [...]]]></description>
			<content:encoded><![CDATA[<p>ako że rozkazy języka SQL okazały się niewystarczające do tworzenia efektywnych systemów baz danych, firma Oracle wprowadziła rozszerzenia proceduralne do swojej implementacji języka <strong>SQL</strong> tworząc język  <strong>PL/SQL</strong>.</p>
<p class="MsoNormal"><strong>PL/SQL</strong> to skrót od <em>Procedural Language/Structured Query</em> Language (język proceduralny/strukturalny język zapytań).</p>
<p><strong>PL/SQL</strong> wzbogaca <strong>SQL</strong> o następujące elementy:</p>
<ul>
<li>Możliwość deklaracji i używania zmiennych</li>
<li>Instrukcje sterujące kolejnością wykonywania się poleceń (instrukcje decyzyjne,  pętle,  skoki)</li>
<li>Używanie kursorów i definiowanie złożonych struktur danych</li>
<li>Realizację operacji wejścia/wyjścia związanych z systemem plików</li>
<li>Podprogramy</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pl-sql.biz/wstep/czym-jest-plsql-28/feed</wfw:commentRss>
		</item>
		<item>
		<title>1.1.a Sekcja deklaracji</title>
		<link>http://www.pl-sql.biz/wstep/budowa-bloku/a-sekcja-deklaracji-27</link>
		<comments>http://www.pl-sql.biz/wstep/budowa-bloku/a-sekcja-deklaracji-27#comments</comments>
		<pubDate>Sat, 15 Mar 2008 15:07:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[1.1 Budowa bloku]]></category>

		<category><![CDATA[declare]]></category>

		<category><![CDATA[sekcja deklaracji]]></category>

		<guid isPermaLink="false">http://90plan.ovh.net/~funnymat/www_pl-sql_pl/2008/03/15/a-sekcja-deklaracji/</guid>
		<description><![CDATA[ Sekcja ta rozpoczyna się słowem kluczowym declare, za którym następuje lista zmiennych i definicji kursorów.
Składnia deklaracji zmiennej jest następująca:

nazwa_zmiennej typ_zmiennej [CONSTANT] [NOT NULL] [:= wartość];

Warto zaznaczyć, że:

Identyfikatory nie mogą zaczynać sie od cyfry i być dłuższe niż 30 znaków.


Identyfikatory nie mogą brzmieć tak samo jak słowa zarezerwowane (np. DATE, END)


Zmienna zadeklarowana, lecz nie zainicjowana [...]]]></description>
			<content:encoded><![CDATA[<p> Sekcja ta rozpoczyna się słowem kluczowym <strong>declare</strong>, za którym następuje lista zmiennych i definicji kursorów.</p>
<p>Składnia deklaracji zmiennej jest następująca:</p>
<pre class="syntax-highlight:sql">
nazwa_zmiennej typ_zmiennej [CONSTANT] [NOT NULL] [:= wartość];
</pre>
<p>Warto zaznaczyć, że:</p>
<ul>
<li>Identyfikatory nie mogą zaczynać sie od cyfry i być dłuższe niż 30 znaków.</li>
</ul>
<ul>
<li>Identyfikatory nie mogą brzmieć tak samo jak słowa zarezerwowane (np. DATE, END)</li>
</ul>
<ul>
<li>Zmienna zadeklarowana, lecz nie zainicjowana posiada wartość NULL. Poniższe trzy deklaracje są równoważne.</li>
</ul>
<pre class="syntax-highlight:sql">ilosc NUMBER(6);
ilosc NUMBER(6) := NULL;
ilosc NUMBER(6) DEFAULT NULL;</pre>
<ul>
<li>Zamiast jawnego podawania typu zmiennej można odwołać się do typu zmiennej wcześniej zadeklarowanej lub do typu kolumny bazodanowej poprzez użycie nazwy tej zmiennej (nazwy kolumny) i operatora %TYPE.</li>
</ul>
<pre class="syntax-highlight:sql">imie klienci.imie%TYPE;</pre>
<ul>
<li>Przykład nadania wartości zmiennym przez przypisanie:</li>
</ul>
<pre class="syntax-highlight:sql">
ilosc NUMBER(2) := 50;
ilosc_2 NUMBER(2) DEFAULT 100;
</pre>
<ul>
<li>Zmienną można zadeklarować jako stałą, wtedy nie można zmieniać jej wartości w sekcji poleceń wykonywalnych</li>
</ul>
<pre class="syntax-highlight:sql">pi CONSTANT NUMBER(9.7) := 3.1415927;</pre>
<h2>Typy danych</h2>
<p>W języku PL/SQL występują wszystkie typy danych dostępne w języku SQL, a także złożone typy danych bazujące na strukturach zapytań. Niżej znajduje się lista najczęściej wykorzystywanych typów danych:</p>
<h3>Typy numeryczne:</h3>
<p><strong>NUMBER (P,S)</strong> – Typ ten może przechowywać wartości całkowite i rzeczywiste. P (precyzja) oznacza ilość wszystkich cyfr w liczbie, natomiast S (skala) oznacza ilość cyfr po przecinku. P &lt;= 38, -84 &lt;= S &lt;= 127.<br />
<strong>BINARY_FLOAT</strong> – 32 bitowa liczba zmiennoprzecinkowa<br />
<strong>BINARY_DOUBLE</strong> – 64 bitowa liczba zmiennoprzecinkowa</p>
<h3>Typy znakowe:</h3>
<p><strong>CHAR (L)</strong> – Przechowuje stałą zadeklarowaną (L) ilość znaków. Jeżeli ilość przypisanych znaków jest mniejsza niż L, wtedy zmienna jest uzupełniana do odpowiedniej długości spacjami. L musi być mniejsze od 256 i domyślnie jest przyjmowane jako 1.<br />
<strong>VARCHAR2 (L)</strong> – Przechowuje znaki. Zajmuje tylko tyle miejsca, ile znaków zostanie przypisanych do zmiennej. L służy do wyznaczenia maksymalnego, dopuszczalnego rozmiaru łańcucha danych, jaki można przypisać do zmiennej tego typu. L musi być mniejsze od 4000 i nie jest przyjmowane domyślnie (musi zostać wyspecyfikowane).<br />
<strong>LONG</strong> – Typ bardzo podobny do VARCHAR2, tylko jego maksymalna długość wynosi 2 GB. Służy on do przechowywania bardzo długich tekstów.</p>
<blockquote><p>Zmienne typu char zajmują zawsze tyle samo miejsca, niezależnie od tego, jakie wartości zostały tym zmiennym przypisane. Zmienne typu varchar2 zajmują miejsca w zależności od wielkości przypisanej wartości.</p></blockquote>
<h3>Pozostałe typy:</h3>
<p><strong>RAW (L)</strong> – Surowe dane binarne o wielkości podanej w parametrze L. Maksymalna wielkość to 2000 bajtów.<br />
<strong>LONG RAW (L)</strong> – Surowe dane binarne; poza tym jest to typ identyczny jak LONG.<br />
<strong>DATE</strong> – Typ ten przechowuje informacje o wieku, roku, miesiącu, dniu, godzinie, minucie i sekundzie. Jest zakodowany na siedmiu bajach, po jednym na każdy komponent. Data musi być z zakresu od 1 stycznia 4712 p.n.e. do 31 grudnia 9999 n.e.<br />
<strong>ROWID</strong> – Ciąg znaków Base64 reprezentujący unikatowy adres wiersza w tabeli<br />
<strong>CLOB</strong> – Wielki obiekt znakowy o dłguości do 4GB<br />
<strong>BLOB</strong> – Wielki obiekt binarny o dłguości do 4GB<br />
<strong>BFILE</strong> – Wskaźnik do pliku binarnego w systemie operacyjnym<br />
Oracle zaleca stosowanie  CLOB i BLOB zamiast bardzo niewygodnych i mało wydajnych odpowiedników typu LONG.</p>
<p>Przykład:</p>
<pre class="syntax-highlight:sql">
/*Deklaracja      Przypisywana wartość     Przechowywana wartość*/
NUMBER          1234.5678                1234.5678
NUMBER (3)      123                      123
NUMBER (3)      1234                     --Błąd podczas operacji--
NUMBER (7,4)    123.4567                 123.4567
NUMBER (7,4)    123.45678                123.4568
NUMBER (3,-2)   123                      100
NUMBER (3,-1)   123                      120
CHAR (10)       'Ala'                    'Ala       '
VARCHAR2 (10)   'Ala'                    'Ala'
VARCHAR2 (10)   'Ala ma kota'            --Błąd podczas operacji--
</pre>
<h3>Definiowanie własnych podtypów</h3>
<p>Użytkownik może zdefiniować w sekcji deklaracyjnej własne podtypy na podstawie istniejących typów skalarnych.</p>
<pre class="syntax-highlight:sql">SUBTYPE nowy_typ IS istniejący_typ;</pre>
<p><em>istniejący_typ</em> może zawierać skalę i precyzji dla typów numerycznych oraz długości dla typów znakowych. Podczas deklaracji zmiennych nowego podtypu dane te mogą zostać nadpisane.<br />
Przykład:</p>
<pre class="syntax-highlight:sql">DECLARE
SUBTYPE typ_nazwisko IS varchar2(30);
v_nazw1 typ_nazwisko; 			-- zmienna typu varchar2(30)
v_nazw2 typ_nazwisko; 			-- zmienna typu varchar2(30)
v_dl_nazw typ_nazwisko(70); 	              -- zmienna typu varchar2(70)
BEGIN
...
END;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.pl-sql.biz/wstep/budowa-bloku/a-sekcja-deklaracji-27/feed</wfw:commentRss>
		</item>
		<item>
		<title>0. O czym jest ta strona?</title>
		<link>http://www.pl-sql.biz/0-wstep/o-czym-jest-ta-strona-26</link>
		<comments>http://www.pl-sql.biz/0-wstep/o-czym-jest-ta-strona-26#comments</comments>
		<pubDate>Sat, 15 Mar 2008 15:02:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[0. Wstęp]]></category>

		<category><![CDATA[pl/sql]]></category>

		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://90plan.ovh.net/~funnymat/www_pl-sql_pl/2008/03/15/o-czym-jest-ta-strona/</guid>
		<description><![CDATA[Strona poświęcona językowi SQL oraz PL/SQL (będącym rozszerzeniem języka SQL o mechanizmy programowania proceduralnego).
Jako że rozkazy języka SQL okazały się niewystarczające do tworzenia efektywnych systemów baz danych, firma Oracle wprowadziła rozszerzenia proceduralne do swojej implementacji języka SQL tworząc język  PL/SQL.
PL/SQL to skrót od Procedural Language/Structured Query Language (język proceduralny/strukturalny język zapytań).
PL/SQL wzbogaca SQL o [...]]]></description>
			<content:encoded><![CDATA[<p>Strona poświęcona językowi <strong>SQL</strong> oraz <strong>PL/SQL</strong> (będącym rozszerzeniem języka <strong>SQL</strong> o mechanizmy programowania proceduralnego).</p>
<p>Jako że rozkazy języka SQL okazały się niewystarczające do tworzenia efektywnych systemów baz danych, firma Oracle wprowadziła rozszerzenia proceduralne do swojej implementacji języka <strong>SQL</strong> tworząc język  <strong>PL/SQL</strong>.</p>
<p class="MsoNormal"><strong>PL/SQL</strong> to skrót od <em>Procedural Language/Structured Query</em> Language (język proceduralny/strukturalny język zapytań).</p>
<p><strong>PL/SQL</strong> wzbogaca <strong>SQL</strong> o następujące elementy:</p>
<ul>
<li>Możliwość deklaracji i używania zmiennych</li>
<li>Instrukcje sterujące kolejnością wykonywania się poleceń (instrukcje decyzyjne,  pętle,  skoki)</li>
<li>Używanie kursorów i definiowanie złożonych struktur danych</li>
<li>Realizację operacji wejścia/wyjścia związanych z systemem plików</li>
<li>Podprogramy</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.pl-sql.biz/0-wstep/o-czym-jest-ta-strona-26/feed</wfw:commentRss>
		</item>
		<item>
		<title>2. drugi</title>
		<link>http://www.pl-sql.biz/wstep/budowa-bloku/2-drugi-25</link>
		<comments>http://www.pl-sql.biz/wstep/budowa-bloku/2-drugi-25#comments</comments>
		<pubDate>Sat, 15 Mar 2008 13:30:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[1.1 Budowa bloku]]></category>

		<category><![CDATA[drugi]]></category>

		<guid isPermaLink="false">http://90plan.ovh.net/~funnymat/www_pl-sql_pl/2008/03/15/2-drugi/</guid>
		<description><![CDATA[powinien byc drugi
]]></description>
			<content:encoded><![CDATA[<p>powinien byc drugi</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pl-sql.biz/wstep/budowa-bloku/2-drugi-25/feed</wfw:commentRss>
		</item>
		<item>
		<title>1. wpis nr 1</title>
		<link>http://www.pl-sql.biz/wstep/budowa-bloku/1-wpis-nr-1-24</link>
		<comments>http://www.pl-sql.biz/wstep/budowa-bloku/1-wpis-nr-1-24#comments</comments>
		<pubDate>Sat, 15 Mar 2008 13:28:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[1.1 Budowa bloku]]></category>

		<category><![CDATA[pierwszy]]></category>

		<guid isPermaLink="false">http://90plan.ovh.net/~funnymat/www_pl-sql_pl/2008/03/15/1-wpis-nr-1/</guid>
		<description><![CDATA[powinien byc pierwszy
]]></description>
			<content:encoded><![CDATA[<p>powinien byc pierwszy</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pl-sql.biz/wstep/budowa-bloku/1-wpis-nr-1-24/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
