Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

‫‪1‬‬ ‫آب ﺕ ا

ا
ت ‪PL-SQL‬‬

‫ﺑﺴﻢ ﺍﷲ ﺍﻟﺮﺣﻤﻦ ﺍﻟﺮﺣﻴﻢ‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪2‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ 
ت اب ‪:‬‬
‫ا

ع‬ ‫م‬
‫ا  اول ‪ %& :‬إ‪PL/SQL !" #‬‬
‫• '& !‬ ‫‪1‬‬
‫• *)ات ا("!‬ ‫‪2‬‬
‫• ذا أﺡج ‪ +(,‬ا("!‬ ‫‪3‬‬

‫• آ‪ !5‬ا‪ 1 234‬اول‬ ‫‪4‬‬

‫• ;‪3‬ق ﺕ‪ 7* 8‬ا‪1 234‬‬ ‫‪5‬‬

‫• 
‪2‬ت آ(! ا‪ ) )* 3‬أ>)اء ا‪( 1 234‬‬ ‫‪6‬‬
‫‪7‬‬
‫• ا(! ا ﺡ*! )‪ (GOTO‬ا' ) ا"*‪ 3‬ا‪3A‬وط‬
‫‪8‬‬
‫• ا‪'*(,‬ت‬
‫‪9‬‬
‫• ﺕر ‪ #(B C‬ا  اول‬
‫ا  ا‪ : E2F‬ا"*‪3‬ات وا‪
F‬ا‪G5‬‬
‫• ﺕ‪ H 3,‬ا"*‪3‬ات‬ ‫‪1‬‬
‫• أه*! ا"*‪3‬ات‬ ‫‪2‬‬
‫• ا‪&JK‬ا ت ا"*‪3‬ات‬ ‫‪3‬‬

‫• ﺵ‪3‬وط ﺕ‪ !*L‬ا"*‪3‬ات‬ ‫‪4‬‬

‫• أ‪
2‬اع ا"*‪3‬ات ‪ EN‬ا("!‬ ‫‪5‬‬

‫• آ* *! ﺕ‪ H 3,‬ا"*‪3‬ات ‪ EN‬ا("!‬
‫ ا‪2*4‬ت ا‪!*O3‬‬
‫ ا‪2*4‬ت ا‪!*8‬‬
‫ ا‪2*4‬ت ا‪3%‬ى‬ ‫‪6‬‬

‫ ا'*
د‬
‫ اداة ‪%TYPE‬‬
‫ اداة ‪%ROWTYPE‬‬
‫• أ ‪ #(B !(F‬ا  ا‪E2F‬‬ ‫‪7‬‬
‫• ﺕر ‪ #(B C‬ا  ا‪E2F‬‬ ‫‪8‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


3 PL-SQL ‫آب ﺕ ا ا
ت‬

ezonet@hotmail.com ‫ ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬: ‫ﺇﻋﺪﺍﺩ‬


4 PL-SQL ‫آب ﺕ ا ا
ت‬

ezonet@hotmail.com ‫ ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬: ‫ﺇﻋﺪﺍﺩ‬


5 PL-SQL ‫آب ﺕ ا ا
ت‬

ezonet@hotmail.com ‫ ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬: ‫ﺇﻋﺪﺍﺩ‬


‫‪6‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا
 اول‬
‫ﻡ ‪ #‬إ
!
 ‪PL/SQL‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪7‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا'& ! ‪:‬‬
‫ﺕ( ' ا
&  ‪ PL/SQL‬ه‪ 
/‬ا
'ﻡ* ‪4 /5‬م أوراآ ‪ ،‬وه‪ /‬أداة ﺏ'ﻡ* ی ‪ ،‬وآ& ‪PL/SQL‬‬
‫ا‪7#‬رًا
‪7‬ـ ) ‪ ،(Procedure Language/Structure Query Language‬وﺕ‪ ?@7‬م ه‪ =>7‬ا
& ‪;7<*
7‬‬
‫‪774‬م ‪'H B77 Oracle‬ی‪ 77G‬ﻡ(
*‪ 77‬ا
‪F*@77‬ت ‪ ،‬وﺕ‪ ?@77‬م أی‪ /775 ًE77‬أدوات ا
‪77D‬ی' ا
‪ 77*C‬ﻡ‪'77A 77  B77‬آ‬
‫‪ ، Oracle‬وه‪ /7‬ﺕ( ‪ '7‬أﺱ‪7‬س ﺏ'‪7‬ﻡ‪ L‬ﺏ‪7C‬ء ا
‪7C‬ذج ‪ Oracle Forms‬و ‪ . Oracle Reports‬وﺕ‪ ?@7‬م ه‪=>7‬‬
‫ا
&  أی‪'(
ًE‬ی‪ T‬ذج ﻡ ‪ ،‬وا
‪G‬م ﺏ (‪ S‬ا
‪@R‬ﺏت ا
?ﺹ ‪ /5‬ﺕ‪'G‬ی' ﻡ ‪ ،‬وﻡ‪ B‬أﺝ ا
@*‪F‬ت ‪.‬‬
‫‪----------------------------------------------------------------------------------------------------‬‬

‫ )ا  "! ‪: PL/SQL‬‬
‫‪ -1‬ا  ‪ :‬وه>= ا
&  دور أﺱﺱ‪ /‬ﺏ‪ B7‬أﺝ‪;7‬اء وأدوات أوراآ‪ 7‬ﺡ‪ X7‬ی‪ V7W‬ﺏ<‪ 7‬أآ‪7‬اد )‪ (Forms‬وی‪7‬‬
‫ﺏ< ﺏ'ﻡ* أﺝ;اء وأدوات اوراآ ‪.‬‬
‫‪ -2‬ﺕ ‪ C*L‬اداء ‪ :‬ﺡ‪ X‬ی‪
BW‬ـ ‪ PL/SQL‬ﺕ‪ B@R‬أداء ا
‪G D‬ت وذ
‪ Z‬ﻡ‪F# B‬ل ‪:‬‬
‫) ‪Data‬‬ ‫أ‪ -‬ﺕ*‪ \77‬ﺝ‪ SQL 77‬ﻡ( ‪ /775 ً7‬ﺏ&‪77‬ك واﺡ‪ ) 77‬آ&‪ 77‬واﺡ‪ 77‬ة ( وإرﺱ‪ <
77‬إ
‪77# !77‬دم‬
‫‪>C
(Base‬ه د‪ (5‬واﺡ ة ﻡ ی‪a‬دي إ
! ارﺕع ﻡ@ى اداء ﻡ ‪.‬‬
‫ب‪ -‬ی‪
BW‬ـ ‪ PL/SQL‬ا
( دا‪ #‬أي ﺝ;ء ﻡ‪ B‬أﺝ;اء وأدوات ‪ Oracle‬وﺏ>
‪ Z‬ی‪7 TE7‬ة ا
(
*‪7‬‬
‫ا‪c‬ﺝ'ا‪ 7b‬إ
‪ !7‬ه‪ =>7‬ادوات )‪ ، ............، (Oracle Reports)، (Oracle Forms‬ﻡ‪ 7‬ی‪a7‬دي‬
‫إ
! ﺕ‪ B@R‬ﻡ@ى اداء ‪.‬‬
‫‪ -3‬ﺕ‪ 3
S‬ا‪ Modularized 1 234‬وذ
‪ Z‬ﺏـ ‪:‬‬
‫أ‪ -‬ﺕ*\ ﻡ‪ &
/GDC‬ت دا‪ #‬آ )‪ (Blocks‬ا
'ﻡ‪. L‬‬
‫ب‪ -‬ا
‪ W‬ا
 ا‪ (Nested Blocks) &#‬ﺕ‪ d‬ا
( ی ﻡ‪ B‬ا
;ای ‪.‬‬
‫ت‪ -‬إﺕﺡ ﺕ‪ @G‬ا
‪f‬آ ا
(‪ G‬ة إ
! ﻡ*  أﺏ@‪ g‬ﻡ‪ B‬ا
‪f‬آ ی‪ BW‬ﺡ&ّ< ﺏ @‪. H‬‬
‫ث‪ -‬ا‪c‬ﺱدة ﻡ‪' # B‬ات وأآاد ﺱ‪7‬ﺏ‪ G‬ﺏ*(<‪ W7A /75 7‬ﻡ‪7 W‬ت )‪ (Libraries‬ی‪ B7W‬ا‪c‬ﺱ‪7‬دة ﻡ‪7<C‬‬
‫ﺏ‪ B‬أدوات ‪ Oracle‬ا
?& ‪.‬‬
‫ج‪ -‬ی‪ BW‬ﺕ‪ >C‬آد ‪ PL/SQL‬ﻡ‪ B‬أي أداة ﻡ‪ B‬أدوات ‪ Oracle‬ا
?& ‪.‬‬
‫ح‪ -‬ی‪ B77W‬ﺕ('ی‪ T77‬ا
 ‪'77‬ات وا
‪j77R‬ت )‪ (Variables‬ا
‪ /77‬ﺕ‪  G@77‬ا
( ی‪ 77‬ﻡ‪ B77‬أ‪77‬اع ا
‪77‬ت‬
‫ا
?& ﻡ‪ l‬ارم وا
‪C‬ص وا
ر وا
 ی وا
ت ا
'آ  ‪ ....‬ا
‪. m‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪8‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫خ‪ -‬وﺕ‪R‬ي أی‪ !7& ًE7‬ا


‪;7‬ات ا‪'7#‬ى ﻡ‪ 7l‬أواﻡ‪ '7‬ا
‪'7W‬ار وا
‪ /75 WR7‬ﺱ‪ '7‬ا
'‪7‬ﻡ‪ L‬وﻡ(
*‪7‬‬
‫ا‪D#‬ء وا‪c‬ﺱ‪Cl‬ءات وووووو‪....‬ا
‪. m‬‬
‫‪----------------------------------------------------------------------------------------------------‬‬

‫ ذا أﺡج ‪ +ّ(,‬ه‪ T7‬ا("! ‪:‬‬


‫‪ j‬أﺡج إ
! ‪/A‬ء إﺽ‪ /5‬ﻡ دام ‪ 7C‬ي ﺏ'‪7‬ﻡ‪ SQL*Plus L‬ﻡ‪ّ;7C‬ل &‪ !7‬ﺝ<‪7‬زي ﻡ‪7' 5، 7  B7‬ﻡ‪L‬‬
‫‪ SQL *Plus‬ی‪ /‬ﺏ

(&ّ وآﺏ ه>= ا
&  ‪ ،‬ا
>ي أﺡج ‪ g7G5‬إ
‪ !7‬ا
('‪ 75‬وا
‪ 7G‬رة &‪ !7‬آﺏ‪ 7‬أواﻡ‪'7‬‬
‫‪ SQL‬وإ‪ /‬اﺝ;ت ه>= ا
دة ﺏ‪ Wf‬ﺝ ‪.‬‬
‫‪---------------------------------------------------------------------------------------------------‬‬

‫آ‪ !5‬ا‪ 1 234‬اول ‪: PL/SQL !"(5‬‬


‫ی‪ BW‬آﺏ ﺏ'اﻡ‪ PL/SQL L‬وﺕ‪>C‬ه ﻡ‪ B‬ﻡ‪ SQL XR‬ﺽ‪ B‬ﺏ'ﻡ‪ . SQL *Plus L‬و
‪ ،BW‬وﺏ‪V @7‬‬
‫درﺝ‪ 77‬ﺕ(‪ 77G‬و‪77H‬ل ا
‪'77‬اﻡ‪ j ،L‬ﺕ( ‪ 77
s '77‬ﻡ‪ &E77‬ا‪c‬ﺱ‪ ?77‬ام ‪ .‬إذ ی‪ E77‬ﺕ‪77D‬ی' ا
'‪77‬ﻡ‪ /775 L‬أي ﻡ‪'77R‬ر‬
‫‪7‬ص ﻡ‪ 7l‬ا
‪'7W‬ة ‪ Notepad‬أو ﺏ‪ /7‬ا‪c‬ﺝ'ا‪7b‬ت ‪74 /75‬م ‪ . Oracle‬وﺏ(‪ 7‬ذ
‪ Z7‬ی‪ B7W‬اﺱ‪ 7‬ء ﻡ&‪7‬ت‬
‫ا
'اﻡ‪ L‬ﺽ‪. SQL *Plus B‬‬
‫ه‪ V77W 77‬ﺏ'ﻡ*‪ 77C‬اول ﺏ& ‪ d77C&5 ، PL/SQL 77‬ﺏ'‪77‬ﻡ‪ SQL *Plus L‬وآﺏ‪ 77‬ا
'‪77‬ﻡ‪ L‬ا
‪، /
77‬‬
‫وه>ا ا
'ﻡ‪   D
L‬رﺱ
 )‪: (Hello‬‬
‫ا
‪1-1 bG‬‬

‫‪'
5‬ﻡ‪ L‬ا
@ﺏ‪ u‬ی‪ T
t‬ﻡ‪ B7‬آ&‪ 7‬ﺕ'ﻡ‪ ;7‬ﺏ& ‪ PL/SQL 7‬ﺕ‪7R‬ي &‪ !7‬ﺕ(&‪ 7‬واﺡ‪ 7‬ة ‪ .‬ﺕُ‪ '7<4‬ا
'ﺱ‪
7‬‬
‫)‪. (Hello‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪9‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ﺏ(‪ S‬ا
?‪ xb‬ا
<ﻡ
& 'ﻡ‪ L‬ا
@ﺏ‪: u‬‬
‫‪ -‬ی أ ﺏ‪ (Begin) &W‬وی‪ /<C‬ﺏ‪. (End) &W‬‬
‫‪ -‬أﻡ' ا
‪ PL/SQL 
/5   D‬ه' )‪. (DBMS_OUTPUT.PUT_LINE‬‬
‫‪ -‬ﺕ‪W‬ن آ ﺕ'ﻡ; ‪ PL/SQL‬ﻡ‪ B‬ﺕ(&ت ‪ ،‬وآ ﺕ(& ﺕ‪ /<C‬ﺏﺹ& ﻡ‪. HGC‬‬
‫‪ -‬ی وﺽ\ )‪< /5 (/‬ی آ& ﺕ'ﻡ; ‪ >C
PL/SQL‬ﺕ(&ت آ& ا
'ﻡ; ‪.‬‬
‫‪ -‬ﺕ( ' ا
‪ &W‬ا
ﺡ )‪ (END‬ه‪ /7‬ا
‪ 7&W‬ا
ﺡ‪ 7‬ا
ﺡ‪ 7‬ة ‪ /75‬آ&‪ 7‬ﺕ'ﻡ‪PL/SQL ;7‬‬
‫ا
‪ /‬ﺕ‪ /<C‬ﺏﺹ& ﻡ‪. HGC‬‬
‫ (
‪: !V !W‬‬
‫‪ j‬ﺡ‪ {7‬أن أول ﺱ‪ /75 'D7‬ا
'‪7‬ﻡ‪ L‬ا
‪@7‬ﺏ‪ u‬آ&‪، (SET SERVEROUTPUT ON) 7‬ه‪ /7‬ﺕ(&‪7‬‬
‫‪ SET‬ا
ﺏ(
'‪7‬ﻡ‪ SQL *Plus L‬ا
‪a@7‬و
 ﺏ}|<‪7‬ر ا
'ﺱ‪ b7‬ا
'ﺱ‪ &7‬ﻡ‪ 7  B7‬ا‪c‬ﺝ'ا‪7b‬ت ا
ﺝ‪7‬دة ‪/75‬‬
‫ا
‪;R‬ﻡ ا
'ﻡ* ‪ ، DBMS_OUTPUT‬ی*‪ V‬وﺽ(< ﻡ'ة واﺡ‪ 7‬ة ‪ g7G5‬ﺽ‪ B7‬ﺝ&‪ @7‬ا
(‪}75 ، 7‬ذا
‪ 7‬ﺕ‪B7W‬‬
‫ه‪C‬ك اﺱ? ام
&‪;R‬ﻡ ا
'ﻡ* ‪ F5 DBMS_OUTPUT‬دا ‪ /‬إ
! اﺱ? ام ه>= ا
(& ‪.‬‬
‫‪----------------------------------------------------------------------------------------------------‬‬
‫‪ j‬ﺝ&‪7‬‬
‫أ ‪ G‬إ
! ه‪ C‬ﻡ‪ 7‬ﺕﺹ‪ C&7‬إ
‪ !7‬ﺡﺝ‪ 7‬ﻡ'ﺕ ‪ 7‬ﻡ<ﻡ‪ ~@7
7t5 .. 7‬ﻡ‪ ً7
D‬ﺏ‪t7‬ي ﺡﺝ‪ 7‬إ
‪ !7‬ه‪ 7C‬إ ّ‬
‫‪ : SET_SERVEROUTPUT ON‬ی*‪ V7‬اﺱ‪ ?7‬اﻡ< ﻡ‪'7‬ة واﺡ‪ 7‬ة ‪ g7G5‬ﺽ‪ B7‬ﺝ&‪ @7‬ا
(‪ 7‬إن آ‪7‬ن ه‪7C‬ك‬
‫اﺱ? ام ﺝ& ‪ DBMS_OUTPUT.PUT_LINE‬ا
@‪a‬و

‪ >C‬أﻡ' ﻡ ‪.‬‬
‫‪---------------------------------------------------------------------------------------------------‬‬

‫;‪3‬ق ﺕ‪: PL/SQL 1 235 7* 8‬‬


‫‪ -1‬إذا آ~ ا
‪ &W‬ا
'ﻡ*‪'
7‬ﻡ‪ PL/SQL ;7‬ﻡ‪7W‬ب دا‪ 7#‬ﺏ'‪7‬ﻡ‪ BW75 SQL *Plus L‬ﺕ‪>7C‬ه‬
‫ﺏـﺽ\ )‪ (/‬ﺏ( <ی آ& ا
'ﻡ; ﻡ ‪'A‬ة ‪.‬‬
‫‪ -2‬وإذا آ~ ا
‪ &W‬ا
'ﻡ*
'ﻡ; ‪ /75 PL/SQL‬ﻡ&‪7# T7‬رﺝ‪ BW75 /‬ﺕ‪>7C‬ه ﻡ‪ B7‬ﻡ‪SQL X7R‬‬
‫‪ *Plus‬ﺏﺱ‪ ?7‬ام ا
‪ 77&W‬ا
ﺡ‪ (START) 77‬أو ا
'ﻡ‪ .(@) ;77‬وه‪>7‬ا ا
‪77C‬ع ﻡ‪ B77‬ا
‪ 77W‬ا
'ﻡ*‪77‬‬
‫ﺕ@! ) إﺝ'ا‪b‬ت آ ﻡ*<
 ( ‪ .‬وا
‪ Wf‬ا
(م ‪j‬ﺱ? ام ه>= ا
‪ &W‬ا
ﺡ ‪:‬‬
‫ا‪j‬ﻡ اد‪ .‬اﺱ ا
&‪ \ T‬ﻡ@ر ا
&‪START T‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪10‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫وﺏ( ا‪<j‬ء ﻡ‪ B‬ﺕ‪ >C‬آ& ﺕ'ﻡ; ‪ PL/SQL‬ﺱ‪4 '<4‬م ‪ Oracle‬ا


'ﺱ
 ا

‪:‬‬
‫‪ PL/SQL‬ﺕ *ح إﺝ'اء‬
‫أو‬
‫‪PL/SQL procedure successfully completed‬‬
‫وا
‪ /‬ﺕ? ' ﺏ‪ €t‬ﺕ ﺕ‪ >C‬ا
'ﻡ‪ L‬ﺏ‪*C‬ح ‪ ،‬أﻡ إذا ﺡ ث أي ‪}5 tD#‬ن ‪4‬م ‪ Oracle‬ﺱ ر رﺱ
 ‪. tD#‬‬
‫ﻡ‪ B‬ه‪  C‬أ ا
* ‪ C& ---------------------------------------------------------‬ا
 ' وا
‪l‬ﺏ'ة‬

‫ 
‪2‬ت آ(! ا‪ ))* 3‬أ>)اء ا‪: ( 1 234‬‬

‪W‬ﺏ أي ﺏ'ﻡ‪ L‬ﺏ&  ‪ PL/SQL‬ی*‪ 7C& V‬أن (‪'7‬ف أن ﺕ'ﻡ‪ ;7‬آ&‪ PL/SQL 7‬ی‪7W‬ن ﻡ‪ B7‬أرﺏ(‪7‬‬
‫ﻡ‪ \HG‬وه‪ /‬ﺏ
'ﺕ‪: V‬‬
‫‪ -1‬ا‪3‬و ‪ : !L‬وه ﻡ‪ \DG‬ا‪#‬ري ‪ /75‬آ&‪ 7‬ا
'ﻡ‪ . ;7‬وی‪ ?@7‬م
‪ R‬ی‪7 7‬ع آ&‪ 7‬ا
'ﻡ‪ ;7‬واﺱ‪ . <7‬وأ‪7‬اع‬
‫آ ا
'ﻡ; ه‪ anonymous procedure : /7‬أي إﺝ'ا‪b‬ـــــ‪7‬ـ ﻡ*<ــ‪7‬ـ
 ا‪j‬ﺱ‪ ، 7‬و ‪named procedure‬‬
‫أي إﺝ'ا‪ <
b‬اﺱ ‪ ،‬و ‪ function‬أي ﺕﺏ\ ‪ .‬وﺕ@? م ا
'وی@ ﻡ\ ا
‪ B C‬ا‪'#‬ی‪. gG5 B‬‬
‫‪ -2‬ا‪ : X 3‬وه أی‪ ًE‬ﻡ‪ \DG‬ا‪#‬ري ‪ /5‬آ& ا
'ﻡ;‪ .‬وی‪R‬ي &! أﺱء ا‚'اض ا
‪ 7&R‬ا
‪ /7‬ﺱ‪7‬‬
‫اﺱ‪ ?77‬اﻡ< ‪ /775‬آ&‪ 77‬ا
'ﻡ‪ . ;77‬وﺕ‪ BE77‬ا
 ‪'77‬ات وﺕ(‪77‬ری‪ T‬ا
‪'77Aa‬ات وا‪j‬ﺱ‪Cl77‬ءات ‪ ،‬وی ‪ 77‬أ ه‪>77‬ا ا
‪\77DG‬‬
‫ﺏ
‪ &W‬ا‪5j‬ﺡ )‪. (DECLARE‬‬
‫‪ -3‬ا‪* 8‬ــ‪ : 7‬وه‪ 7‬ا
‪ \7DG‬ا‪c‬ﺝ ‪7‬ري ا
ﺡ‪ /75 7‬آ&‪ 7‬ا
'ﻡ‪ . ;7‬وی‪7R‬ي آ‪ 7‬ا
(&‪7‬ت ا
‪ /7‬ﺱ‪ 7‬ﺕ‪>7C‬ه ‪،‬‬
‫وا
‪ /‬ﺕ‪ T
t‬ﻡ‪ B‬ﺕ(&ت ‪ ، DML‬إﺝ'ا‪b‬ت )آ‪ 7‬ﺕ'ﻡ‪ ، (PL/SQL ;7‬ﺕاﺏ‪) \7‬آ‪ 7‬ﺕ'ﻡ‪ PL/SQL ;7‬ﺕ(‪ 7‬‬
‫ ﻡ(‪،‬وﺏ'اﻡ‪ L‬ﺝ;‪ b‬ﻡ@ ‪ G‬ا
‪C‬ء‪ .‬وی أ ه>ا ا
‪ \DG‬ﺏ
‪ &W‬ا‪5j‬ﺡ )‪. (BEGIN‬‬
‫‪ -4‬ا‪8FKZ‬ءات ‪ :‬وه ﻡ‪ \DG‬ا‪#‬ري ‪ .‬وی@? م ‪G
j‬ط وﻡ(
*‪ 7‬أي ‪ t7D#‬ی‪ 7R‬ث أﺙ‪7C‬ء ا
(&‪7‬ت ا
ﺝ‪7‬دة‬
‫‪ /5‬ا
‪ \DG‬ا
‪>C‬ي ‪ .‬وی أ ه>ا ا
‪ \DG‬ﺏ
‪ &W‬ا
ﺡ )‪. (EXCEPTION‬‬
‫ﻡ&‪: |R‬‬
‫* وی&‪ /‬ذ
‪ Z‬آ&€ ا
‪ &W‬ا
ﺡ )‪7<c (END‬ء آ&‪ 7‬ا
'ﻡ‪ ، ;7‬وه‪ /7‬ا
‪ 7&W‬ا
ﺡ‪ 7‬ا
ﺡ‪ 7‬ة ا
‪/7‬‬
‫ﺕ‪ /<C‬ﺏﺹ& ﻡ‪. HGC‬‬
‫* و
‪ >C‬آ& ا
'ﻡ; ی وﺽ\ ا
'ﻡ; )‪ slash (/‬ﺏ( <ی آ& ا
'ﻡ; ‪.‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪11‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫وا
‪ Wf‬ا
(م
‪ &W‬ا
'ﻡ; ‪:‬‬

‫‪DECLARE‬‬
‫)>)ء ا‪ X 3‬وا‪ (H 3,‬ه‪ C‬ی وﺽ\ ا
 'ات وﺕ(ری‪ T‬ا
‪'Aa‬ات وا‪c‬ﺱ‪Cl‬ءات‬

‫‪BEGIN‬‬
‫)>)ء ا‪ (7* 8‬ه‪ C‬ی وﺽ\ ا
(&ت ا
‪ /‬ﺱ ﺕ‪>C‬هـا‬

‫‪EXCEPTION‬‬
‫)>)ء ا‪8FKZ‬ءات( ه‪ C‬ی وﺽ\ ا‪j‬ﺱ‪Cl‬ءات‬

‫;‪END‬‬ ‫)‪ ! V2‬ا(! ا‪ (!*[ 34‬ه>= ا


‪ &W‬ی*‪ V‬وﺽ(< ‪< /5‬ی آ& ا
'ﻡ; ‪<c‬ء ا
‪&W‬‬
‫‪/‬‬ ‫)ﺕ‪ 7* 8‬ا(! ا‪ (!*[ 34‬وه>ا ا
'ﻡ; ی وﺽ(€
‪ >C‬آ& ا
'ﻡ;‬

‫ﺱف ‪ >#t‬ا
‪l‬ل ا

‪: /‬‬
‫آ& ﺏ'ﻡ* ی‪'@7‬ﺝ\ اﺱ‪ 7‬ا
|‪ T7‬ا
‪>7‬ي ی‪ 7R‬ا
‪ (7782) '7‬ﻡ‪ B7‬ﺝ‪ 7‬ول ا
‪ ، (EMP) B|7‬ﺙ‪7‬‬
‫‪،€  H‬وإذا آن ه‪C‬ك ﺡ وث أي ‪ !& tD#‬ا
(&ت ا
‪>C‬ی ﺱ‪ '<4‬رﺱ
 )‪. (ERROR OCCURED‬‬

‫ﺕ('ی‪ T‬ﻡ ' ﻡ‪ B‬ا


‪C‬ع ا
‪30 €
H /5'R‬‬
‫ﺡ'‪ً5‬‬

‫ه‪ C‬ﺝ& ا‪j‬ﺱ(‪F‬م ‪ B‬اﺱ ا


|‪ T‬ا
>ي ی‪ R‬ا
' ‪7782‬‬
‫و‪€  H‬‬

‫ﺕ(&ت ا‪c‬ﺱ‪l‬ء‬

‫ه>ا اﺱ ا
|‪ T‬ا
@'ﺝ\ ﻡ‪ B‬ﺝ& ا‪j‬ﺱ(‪F‬م‬

‫‪----------------------------------------------------------------------------------------------------‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪12‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا(! ا ﺡ*! )‪ (GOTO‬ا' ) ا"*‪ 3‬ا‪3A‬وط ‪:‬‬


‫ﺕ@? م ا
‪ &W‬ا
ﺡ )‪c (GOTO‬ﺝ'اء ‪ '7‚ ;7‬ﻡ‪'f7‬وط وا‪7Gj‬ل ﻡ‪ B7‬ﻡ‪ \7DG‬ﻡ‪ B7‬آ&‪ 7‬ا
'ﻡ‪;7‬‬
‫إ
! ﻡ‪ .'#s \DG‬و‪j‬ﺱ? ام ه>= ا
‪ &W‬ا
ﺡ ه‪C‬ك ا وﺕ(&ت ی*‪ V‬إﺕ  < وه‪ /‬ﺏ
'ﺕ‪: V‬‬
‫‪ -1‬ﺕ('ی‪ T‬ا
(‪C‬وی‪ : B‬وذ
‪ Z‬ﺏﺽ\ إ‪A‬رﺕ‪   (<<) /‬اﺱ ا
(‪C‬ان وإ‪A‬رﺕ‪ (>>) /‬ﺏ( اﺱ ا
(‪C‬ان ‪.‬‬
‫‪ -2‬ی اﺱ? ام ا
‪ &W‬ا
ﺡ )‪ (GOTO‬ﺙ وﺽ\ اﺱ ا
(‪C‬ان ا
'اد ا
‪ ;G‬إ
! ه‪C‬ك ﺏ( )‪. (GOTO‬‬
‫ﻡ&‪: |R‬‬
‫س‪ /‬ﻡ ا
‪G‬د ﺏ('ی‪ T‬ا
(‪C‬وی‪ B‬ا
>ي أ‪ 'A‬إ
€ ‪ /5‬ا
‪'G‬ة ر واﺡ ؟‬
‫ج‪ /‬ﺕ('ف ا
(‪C‬وی‪ B‬ﺏ‪ <t‬وﺱ‪ b‬ﺕ@? م
ﺽ\ ‪F‬ﻡت
‪ \HG‬آ& ا
'ﻡ; ‪.‬‬

‫ﺱ‪ >#tC‬ا
‪l‬ل ا

‪: /‬‬
‫آ& ﺏ'ﻡ* ﺕ@? م ا
‪ &W‬ا
ﺡ )‪ '‚ ;G
(GOTO‬ﻡ‪'f‬وط ﻡ‪ B‬ﻡ‪ \DG‬إ
! ﻡ‪ ، '#s \DG‬ﺕ‪R‬ي ﺙ‪F‬ث‬
‫ﺕ(&ت ﺕ‪>C‬ی ‪ ،‬ی ﺕ‪ >C‬ا
(& ا
ﺱ‪ !D‬ﺙ او
! ﺙ ا
(& ا‪'#‬ة ‪:‬‬

‫ا‪3A‬ح ‪:‬‬
‫ ‪ 777C‬ﺏ ای‪ 777‬ﺕ‪ >777C‬ا
'‪777‬ﻡ‪ L‬ی‪777R‬‬
‫ا
*&‪ 7777‬ا

‪(goto middle) 7777‬‬
‫‪>777775‬ه‪ V‬إ
‪ !777777‬ا
‪(middle) \777777DG‬‬
‫وی‪ >77C‬ا
(&‪77‬ت ﺙ‪ 77‬ی‪ 77R‬ا
*&‪777‬‬
‫ا

‪>7775 (goto top) 777‬ه‪ V‬إ
‪!777‬‬
‫ا
‪ (top) \777DG‬وی‪ >777C‬ا
(&‪777‬ت ﺙ‪777‬‬
‫ی‪ 7777777777777R‬ا
*&‪ 7777777777777‬ا

‪7777777777777‬‬
‫)‪>777775 (goto bottom‬ه‪ V‬إ
‪!77777‬‬
‫ا
‪ (bottom) \DG‬ﺙ ی‪ 7R‬آ&‪7‬‬
‫)‪ /<C5 (end‬ا
'ﻡ‪. L‬‬

‫ﻡ&‪: |R‬‬
‫یﺹ‪ /77‬ا
( ی‪ 77‬ﻡ‪ B77‬ا
? ‪'77‬اء ‪ /775‬ه‪>77‬ا ا
*‪77‬ل ﺏ(‪ 77‬م اﺱ‪ ?77‬ام ا
(&‪ /77<5 ، (GOTO) 77‬ﺕ*(‪ 77G5 77‬ان‬
‫‪ . F‬وه‪F
/‬ﺱ? ام ‪ /5‬ﺏ(‪ S‬ا
‪jR‬ت ا
‪C‬درة ا
‪ /‬ی‪ B7W‬أن ﺕ*(‪ 7‬ا
'‪7‬ﻡ‪L‬‬
‫ا
@‪'D‬ة &! ا
‪G D‬ت أﻡ'ًا ﺱ< ً‬
‫أﺱ< وأﺏ@‪. g‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪13‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا‪'*(,‬ت ‪:‬‬
‫آ‪t‬ي
ت ا
'ﻡ* ا‪'#‬ى ی‪ B7W‬إد‪7#‬ل ا
(&‪7G‬ت ﺽ‪ B7‬آ&‪ 7‬ا
'ﻡ‪ ، ;7‬ویﺽ‪ \7‬ا
 ‪'7‬ﻡ‪ L‬ﻡ‪ 7l‬ه‪=>7‬‬
‫ا
(&‪G‬ت
@< أﻡ'= و~ ﻡ'اﺝ(€ وﺕ‪7D‬ی'=
& '‪7‬ﻡ‪ L‬ﺏ(‪'75 7‬ة زﻡ‪ ، 7C‬و‪ j‬ﺕ‪a7‬ﺙ' ه‪ =>7‬ا
(&‪7G‬ت ‪ /75‬ﺡ*‪7‬‬
‫ا
'ﻡ‪ L‬أﺏ ًا ‪ .‬ویﺝ أداﺕن
‪W‬ﺏ ه>= ا
(&‪G‬ت ‪:‬‬
‫‪W
-1‬ﺏ ﺕ(&‪ u‬ﺱ‪ً'D‬ا واﺡ ا ‪ ً :‬ی وﺽ\ إ‪A‬رﺕ‪ /5 (--) x /‬ﺏ ای ا
@‪ 'D‬ا
>ي '‚‪ V‬ﺏﺽ‪€(7‬‬
‫آ(&‪. u‬‬
‫‪ -2‬و
‪W‬ﺏ ﺕ(&‪ 7 u7‬ة أﺱ‪ : 'D7‬ی‪ 7‬وﺽ‪ \7‬ا
'ﻡ‪ /75 (/*) ;7‬ﺏ ای‪ 7‬ا
(&‪ ، u7‬ووﺽ‪ \7‬ا
'ﻡ‪/75 (*/) ;7‬‬
‫<ی ا
(&‪. u‬‬
‫‪----------------------------------------------------------------------------------------------------‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪14‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ﺕر ‪ #(B C‬ا  اول‬

‫ا
@‪a‬ال اول ‪:‬‬
‫ﺽ\ ‪F‬ﻡ ﺹ‪ () d‬أﻡ ا
( رة ا
‪ RR‬و ‪F‬ﻡ )( ‪ tD#‬أﻡم ا
( رة ا
?‪: ‡H‬‬
‫(‬ ‫)‬ ‫‪ PL/SQL 
-1‬ه‪ /‬أﺱس ا
'ﻡ* ‪4 /5‬م أوراآ ‪.‬‬
‫(‬ ‫)‬ ‫‪ -2‬ﻡ‪ B‬ﻡ;ای
 ‪ PL/SQL‬ا
‪W‬ﻡ ‪. gG5‬‬
‫(‬ ‫)‬ ‫‪ j -3‬ی‪ BW‬ﺕ‪ >C‬أآاد ‪ PL/SQL‬ﻡ‪ B‬أي أداة ﻡ‪ B‬أدوات أوراآ ا
?& ‪.‬‬
‫(‬ ‫)‬ ‫‪ -4‬ی‪ BW‬آﺏ أآاد ‪ /5 PL/SQL‬ﻡ‪'R‬ر ص ﺙ اﺱ ؤ= ﻡ‪ B‬ﻡ‪. SQL *Plus XR‬‬
‫(‬ ‫)‬ ‫‪ -5‬ا
‪ &W‬ا
ﺡ ا
ﺡ ة ا
‪ /‬ﺕ‪ /<C‬ﺏﺹ& ﻡ‪ HGC‬ه‪. (End) /‬‬
‫(‬ ‫)‬ ‫‪ -6‬و
‪ >C‬آ& ا
'ﻡ; ی وﺽ\ ا
'ﻡ; )*( ‪ star‬ﺏ( <ی آ& ا
'ﻡ; ‪.‬‬
‫(‬ ‫)‬ ‫‪ -7‬ا
‪ \DG‬ا‪c‬ﺝ ري ا
ﺡ ه ا
‪ \DG‬ا
‪>C‬ي )‪.(Begin‬‬
‫(‬ ‫)‬ ‫‪ -8‬ا
‪(GOTO) &W‬ﺕ‪ 'f‬إ
! ا
‪ ;G‬ا
‪'f‬وط ‪.‬‬

‫ا
@‪a‬ال ا
‪: /l‬‬
‫أﺝ‪  V‬ی‪t‬ﺕ‪: /‬‬
‫‪ -1‬إذا آن ﻡ&‪ T‬آ& ا
'ﻡ; ﻡ‪W‬ب ‪ /5‬ﻡ&‪# T‬رﺝ‪ TW5 . /‬ی اﺱ ؤ= ﻡ‪ B‬ﻡ‪ SQL *Plus XR‬؟‬
‫_______________________________________________________________‬
‫_______________________________________________________________‬

‫‪ -2‬ﻡ ه ا
'ﻡ; ا
@? م ‪ /5‬آﺏ ﺕ(&‪ 'D@
u‬واﺡ ‪ gG5‬؟ وﻡ ه ا
'ﻡ; ا
@? م ‪ /5‬آﺏ ة أﺱ‪'D‬؟‬
‫________________________________________________________________‬
‫________________________________________________________________‬

‫‪ -3‬أآ‪ V‬آ& ﺏ'ﻡ* ی ‪   H €5‬ا


‪ xC‬ا

‪ (Welcome To PL/SQL) /‬؟‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪15‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا
 ا
‪/l‬‬
‫ا
 'ات وا
‪l‬اﺏ~‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪16‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا"*‪3‬ات وا‪
F‬ا‪: G5‬‬
‫ﺕ‪ H 3,‬ا"*‪3‬ات ‪:‬‬
‫إن ا
 ' ه ﻡ\ ﺕ?;ی‪ - B‬ﻡ‪ B‬أﺝ ﺡ{ ‪ - 7‬ی‪ B7W‬أن ی‪ 7‬إﺱ‪C7‬د ‪ 7‬إ
‪ ، €7‬وﺱ‪ /7‬ﻡ ‪€7 '7‬‬
‫ی‪ BW‬أن ﺕ ' € أﺙ‪C‬ء ﺕ‪ >C‬ا
'ﻡ‪. L‬‬
‫أه*! ا"*‪3‬ات ‪:‬‬
‫‪ -1‬ﺡ*; ﻡ‪W‬ن ‪ /5‬ا
>اآ'ة
& ' ‪.‬‬
‫‪ -2‬إ ‪F‬م ا
'ﺝ ﺏ‪C‬ع ا
ت ا
‪ /‬ی‪ BW‬أن ﺕ?;ن ‪ /5‬ا
 ' ‪.‬‬
‫ا‪&JK‬ا ت ا"*‪3‬ات ‪:‬‬
‫‪ -1‬ﺕ?;ی‪ B‬ﻡ‪ &
~a‬ت ‪.‬‬
‫‪ -2‬ا
(ﻡ ﻡ\  ﻡ?; ‪.‬‬
‫‪ -3‬إ دة اﺱ? ام ا
ت * ﺕ 'ات دا‪ #‬وأﺙ‪C‬ء ا
'ﻡ‪. L‬‬
‫‪ -4‬ا‪#c‬ر وﺱ<
 ا
( ی وا
 وذ
‪ Z‬ﻡ‪ B‬اﺱ‪ ?7‬ام )‪ (%type‬و )‪ (%rowtype‬ﺱ‪t7‬ﺕ‪'7A /‬ﺡ<‬
‫‪j‬ﺡ‪ ، ً G‬و ﻡ‪ <
F# B‬ی‪ BW‬ﺕ('ی‪ T‬ﻡ ' ﺡ@‪ V‬ع د أو ﺹ‪  /5 T‬ة ا
ت ﻡ‪ 7‬ی‪ 7 d7‬ر‬
‫آ ' ﻡ‪ B‬ا
'و دون ا
‪ G‬ﺏ‪C‬ع ﻡ(‪ B‬ﻡ‪ B‬ا
ت ‪.‬‬
‫ﺵ‪3‬وط ﺕ‪ !*L‬ا"*‪3‬ات ‪:‬‬
‫‪ -1‬اﺱ ا
 ' ی*‪ V‬أن ی أ ﺏ‪'R‬ف ‪.‬‬
‫‪ -2‬ی‪ BW‬أن ی‪R‬ي اﺱ ا
 ' &! ﺡ'وف وأ اد أو ‪ H'A‬ﺱ& أو ا
‪'R‬ف ‪. $‬‬
‫‪ j -3‬ی‪R‬ي اﺱ ا
 ' &! رﻡز ‪#‬ﺹ ‪.‬‬
‫‪ j -4‬ی‪R‬ي اﺱ ا
 ' &! ﻡ@‪5‬ت ‪.‬‬
‫‪ j -5‬ی‪W‬ن اﺱ ا
 ' ﺽ‪ B‬اﺱء ا
‪*R‬زة ‪ /5‬ا
&  ﻡ‪ ... Declare, for, if l‬ا
‪.m‬‬
‫‪ j x F‬ی?&‪. X B T‬‬
‫‪ j PL/SQL 
-6‬ﺕ'ق ﺏ‪ B‬ا
‪'R‬وف ا
‪' W‬ة وا
 ' ‪ً l5‬‬
‫‪ -7‬ی‪ E‬أن ی‪W‬ن اﺱ ا
 ' ذو ﻡ(‪. !C‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪17‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫أ‪
2‬اع ا"*‪3‬ات ‪: PL/SQL !" EN‬‬
‫ﺕ‪ @GC‬ا
 'ات إ
! @‪ B‬أﺱﺱ‪: B‬‬
‫‪ -1‬ﻡ 'ات ‪: PL/SQL‬‬
‫وﺕ‪R‬ي &! ة أاع ﻡ‪: <C‬‬
‫أ‪ -‬ا
'دة ‪.Scalar‬‬
‫ب‪ -‬ا
'آ )ا
(‪ G‬ة( ‪. Composite‬‬
‫ت‪ -‬ا
‪f‬ر ﺏ< ) ‪C‬وی‪. Reference ( B‬‬
‫ث‪ -‬ذات اﺡ*م ا
‪' W‬ة )‪. LOB(Large Object‬‬
‫‪ -2‬ﻡ 'ات
@~ ‪: PL/SQL‬‬
‫ﻡ‪ l‬ﻡ 'ات ‪. host , Bind :‬‬
‫‪5‬ـــــ &‪C‬ــــــ ﻡ‪ B‬ه>= اــــاع ‪ /5‬ه>ا ا
‪ L<C‬إ‪ j‬ا
‪G‬ـــــ'ة او
ـــــ! )ا
ـــــ'دة( ‪.‬‬
‫آ* *! ﺕ‪ H 3,‬ا"*‪3‬ات ‪: PL/SQL !" EN‬‬
‫ی ﺕ('ی‪ T‬ا
 'ات ‪ /5 PL/SQL 
/5‬ﺝ;ء ا
'ی‪ d‬وا
‪ Wf‬ا
(م
&('ی‪ T‬ه ‪:‬‬
‫;)‪Variable_name [CONSTANT] datatype (precision‬‬
‫اﺱ ا
 '‬ ‫]ـــــ [‬ ‫;)ا
 أو ا
‪D‬ل( ع ا
ت‬
‫ﻡ&‪ |R‬ﻡ< ‪:‬‬
‫‪ -1‬ی*‪ V‬أن ی‪ /<C‬ا
('ی‪ T‬ﺏﺹ& ﻡ‪. HGC‬‬
‫‪ -2‬اﺱ ا
 ' و € إﺝ رین ‪ C‬ﺕ('ی‪ T‬أي ﻡ ' ‪.‬‬
‫ﻡ‪ l‬ﻡ &‪ C‬أن ﻡ‪ B‬أاع ا
 'ات ‪ /5‬ه>= ا
&  )ا
'دة( ‪ 5‬ﻡ(‪ !C‬ا
'دة ؟‬
‫ا
'دة ا
‪G‬د ﻡ‪ <C‬ه‪ : C‬أن ‪ j‬ی‪R‬ي  ا
 ' ﺱى  واﺡ ة ‪ . gG5‬ﻡ‪: l‬‬
‫‪ -1‬ا
ت ا
' ‪. Number :‬‬
‫‪ -2‬ا
ت ا
‪. Char , Varchar2 : C‬‬
‫‪ -3‬ا
ت ا

 ‪. Boolean :‬‬
‫‪ -4‬ا
ت ا
;ﻡ‪) C‬ا
ری‪. Date : (m‬‬
‫‪ -5‬ا‪j‬ﺱ‪Cl‬ءات ‪ . Exception :‬و‚'ه ‪.‬‬
‫ﺱ‪ >#tC‬آ أاع ا
ت ا
@ﺏ‪ G‬وآ ا
('ی‪ T‬ﺏ
 ‪.‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪18‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ﺕ‪ H 3,‬ا"*‪3‬ات ا‪: !*O3‬‬


‫ی‪ BW‬أن ﺕ‪ BE‬ا
ت ا
' وﺱ‪ BD‬اﺙ‪ : BC‬ا
 )ا
‪D‬ل ا
‪W‬ﻡ
&‪ (G‬و ا
‪ G‬ا
(‪'f7‬ی ) ‪ 7‬د‬
‫ارم ا
‪ BW‬وﺽ(< إ
! ی@ر أو ی‪ B‬ا
ﺹ& ا
(‪'f‬ی ‪.‬‬
‫ا
ت ا
' ﺕ‪ @GC‬إ
! @‪: B‬‬
‫‪ -1‬ا
ت ا
' ا
‪ RR‬وی‪ BW‬ﺕ('ی€ ﺏ
‪ Wf‬ا

‪: /‬‬
‫;)‪Salary integer(3‬‬
‫‪ -2‬ا
ت ا
' ذات ا
ﺹ& ا
(‪'f‬ی وی‪ BW‬ﺕ('ی€ ﺏ
‪ Wf‬ا

‪:/‬‬
‫;)‪age number(3‬‬ ‫‪><5‬ا ا
 ' € دا دون ﺕ‪ R‬ی ا
‪ G‬ا
(‪'f‬ی وی‪ BW‬أن ﺕ‪R‬ي ه>= ا
‪ G‬ﺙ‪F‬ث أرم‬
‫ ‪'f‬ی وﺙ‪F‬ث أرم ‪'f‬ی إ
! ا
@ر ‪ ،‬ﺏ‪ j XR‬ی*وز ا
‪D‬ل ا ‪ /4‬أآ‪ 'l‬ﻡ‪ B‬ﺙ‪F‬ﺙ‬
‫ﻡاﺽ\ ‪.‬‬

‫;)‪summary number(3,2‬‬ ‫‪><5‬ا ا


 ' ‪ 3 €
H‬ﻡ‪ <C‬دان إ
! ا
‪ B‬ﺏ( ا
ﺹ& ا
(‪'f‬ی‬

‫ﻡ&‪: |R‬‬
‫* ی إ ‪D‬ء  ا‪'5‬اﺽ
&  ﻡ‪ G‬اره ‪. 38‬‬

‫ﺕ‪ H 3,‬ا"*‪3‬ات ا‪: !*8‬‬


‫ی‪ BW‬ﺕ('ی‪ T‬ا
ت ا
‪ C‬ﺏ‪ Wf‬دي ‪ ،‬وی‪W‬ن ا
ت ا
‪ C‬ﻡ‪: BD B‬‬
‫‪ . VARCHAR2 -2 CHAR -1‬وا
‪ Wf‬ا
(م
('ی‪ T‬ا
ت ا
‪: C‬‬
‫;)‪Job char(3‬‬
‫;)‪Name varchar2(30‬‬
‫;)(‪X char‬‬
‫ﻡ&‪: |R‬‬
‫‪ -1‬ﺕ‪R‬ي ا
(ری‪ T‬ﻡ‪ B‬ا
‪C‬ع ‪'5 char‬ا‚ت ‪ /5‬ا
اﺽ\ ‚' ا
‪. 
 f‬‬
‫‪ j -2‬ی‪ BW‬ا  ر ا
'ا‚ت وا
‪ G‬ا
ر‚ Œ ا
‪/f‬ء وﺡ! ‪ j‬ی‪ BW‬إﺝ'اء أي ﻡ‪G‬ر ﺏ‪. <C‬‬
‫‪ -3‬ی( ' ا
‪D‬ل ا‪'5j‬اﺽ‪ C /‬ﻡ ‪ j‬ی ﺕ‪ R‬ی ا
‪D‬ل
‪ gC‬ا
ت ‪ char‬ه ‪ ، 1‬وا
‪D‬ل ا ‪ /4‬ه‪7‬‬
‫‪.32767‬‬
‫‪ -4‬ی*‪ V‬ﺕ‪ R‬ی ا
‪D‬ل ‪ C‬ﺕ('ی‪ T‬ﻡ '
‪ gC‬ا
ت ‪ ، varchar2‬وا
‪D‬ل ا ‪ /4‬ه ‪. 32767‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


19 PL-SQL ‫آب ﺕ ا ا
ت‬

. ' ‫ أآ‬4 ‫ال أ‬Ht‫ ﺏ‬varchar2 ‫ و‬char ‫ اط‬B‫ ﻡ 'ات ﻡ‬T‫ ا
&  ﺏ('ی‬d@‫ ﺕ‬-5
: ‫ى‬3%‫
اع أ‬2‫ أ‬C ‫ات‬3*"‫ ا‬H 3,‫ﺕ‬
. Null ‫ أو‬False ‫ أو‬True G
‫> ا‬#t‫ أن ی‬BW‫ وی‬، ‫ ی@? م
@* ﺡ
 ﻡ‬: Boolean -1
Yes Boolean ; :l‫ﻡ‬
. m‫ ی@? م
@*  ا
ری‬: Date -2
s_day date ; :l‫ﻡ‬
. tD?&
S G‫ أو ﻡ‬x?‫ء ﻡ‬Cl‫ اﺱ‬T‫ ی@? م
('ی‬: Exception -3
e_error exception; :l‫ﻡ‬
: ‫ ا'*
د‬H ‫ر‬,‫ﺕ‬
!7& €(7‫ وﺽ‬7‫'ط ی‬7A €7t‫ ﺏ‬G
‫ ویُ('ف ا‬، ;‫ آ& ا
'ﻡ‬/5 5ّ'(‫د &! ا
 'ات ﻡ‬G
‫ وﺽ\ ا‬BW‫ی‬
: ‫د وه‬G
‫ ا‬B‫(ن ﻡ‬bA ‫ ویﺝ  ن‬.' 
‫ا‬
‫}ذا‬75 . '7 &
7
‫ أو‬7 V@7 7(‫' ﺏ‬7 ‫ ﺕ‬7
7G
‫ أن ا‬B7‫ ﻡ‬7‫آ‬t‫ ی‬G
‫ وه>ا ا‬: CONSTANT -1
. tD# ‫ ث‬R‫ ﺱ‬، G
‫ﺡو
~ ﺕ(& ﻡ ﺕ ' ا‬
~7
‫}ذا ﺡو‬75 ، 7 !7& ً7b‫! دا‬7& ‫ى‬7R‫' ی‬7 
‫ أن ا‬B7‫ ﻡ‬7‫آ‬t‫ ی‬G
‫ ه>ا ا‬: NOT NULL -2
. tD# ‫ ث‬R‫ ﺱ‬، ' 
‫ر‚ إ
! ا‬5  V@ ‫ﺕ(& ﻡ‬
: ‫ات‬3*"( +*O ]L2
: PL/SQL 
/5 ‫
& 'ات‬G
‫ ا‬V@C
‫ن‬G‫'ی‬H ‫ﺕﺝ‬
: l‫( ﻡ‬:=) V@C
‫ ﻡ(ﻡ ا‬-1
Salary number := 15;
€‫'ﺡ‬777A /‫ﺕ‬t777‫ وﺱ‬، (FETCH) ‫( و‬SELECT) 777&(‫ ﺕ‬E^^^N ‫&م‬JL^^^‫( وﺕ‬INTO) 777‫ ا
ﺡ‬777&W
‫ ا‬-2
. ًG‫ﺡ‬j 
‫ﺏ‬

ezonet@hotmail.com ‫ ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬: ‫ﺇﻋﺪﺍﺩ‬


‫‪20‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ﺕ‪3*" H 3,‬ات ‪
2 C‬ع ﺕ‪ PL/SQL !(*[L‬و "*‪3‬ات ا[
‪B‬ت ‪:‬‬
‫ﻡ;ة أﺽ~ ‪ PL/SQL 
/5‬وه‪ /‬ﺕ('ی‪ T‬ﻡ ‪'7‬ات ﻡ‪7 B7‬ع ﺕ‪ &*@7‬وﻡ ‪'7‬ات ا
* ‪7‬ت‬
‫ﺏ(‪ : !C‬ی‪ BW‬ﺕ('ی‪ T‬ﻡ ' &! أﺱس ﺕ('ی‪ T‬د أو ﺹ‪ T‬ﺏ‪t‬آ&€ ‪ /5‬ﺝ ول ﺏ‪ G‬ة ا
ت أو ﻡ ‪'7‬‬
‫ﺱ ‪ u‬ﺕ('ی€ ‪ ' 
5 ،‬ا
* ی ی‪7 Œ7 >#t‬ع ﺏ‪7‬ت ‪7‬د ﺝ‪ 7‬ول ‪ 7  /75‬ة ا
‪7‬ت ‪ ،‬وﺏ‪ Z
>7‬ﺕ‪ 7 d7‬ر‬
‫آ ‪ '77‬ﻡ‪ B77‬ا
'و‪ /775 77‬ﺕ('ی‪ T77‬ا
 ‪'77‬ات ‪ ،‬وأی‪ ًE77‬ی‪ '577‬ا
‪ '77lW‬ﻡ‪ B77‬ا
‪'77 &
~77‬ﻡ‪ ، L‬وأی‪ ًE77‬ا‪77#‬ر‬
‫ا
'ﻡ‪. L‬‬
‫ا
ا_& ا‪ C ! V‬ه‪ T7‬ا*)ة ‪:‬‬
‫‪ -1‬ی@‪ \D‬ا
‪ّD‬ر أن ی('ف ﺏ‪ /
s Wf‬ﻡ ' ﺏ‪ ŒC‬ﻡاﺹت ﺏت د ﺝ ول أو ﻡ ‪'7‬‬
‫ﻡ‪ B‬ع ﻡ‪ ، 'Aa‬وﺏ ون ﻡ('‪ 5‬ا
اﺹت
ت ا
(د أو ا
‪. 'Aa‬‬
‫‪ -2‬ی@‪ \D‬ا
‪ّD‬ر إ ‪ 7‬اد ا
 ‪'7‬ات
‪ '7Aa‬ﻡ‪ 7‬أو ﺕ‪ &*@7‬ﺝ‪ 7‬ول ﺏ(&‪ 7‬واﺡ‪ 7‬ة ‪ .‬وﺱ‪Z&7‬‬
‫ا
 'ات Œ ا
اﺹت
&* ول أو ﻡ 'ات ا
‪. 'Aa‬‬
‫* ا‪J‬ﺹ*! أو اداة )‪: (%TYPE‬‬
‫ﺕ( ‪ '77‬اداة )‪ (%TYPE‬أول أداة
('ی‪ T77‬ﻡ ‪ '777‬ﻡ* ‪ ، 77‬وا
‪ /777‬ﺕ‪ d@77‬ﺏ('ی‪ T777‬ﻡ ‪ '77‬ﺏ‪ŒC777‬‬
‫ﻡاﺹت د ﺝ ول ﺏ‪ G‬ة ا
ت ‪ ،‬وا
‪ Wf‬ا
(م
&('ی‪ T‬ﺏ<>= اداة ‪:‬‬
‫; ‪VARIABLE_NAME TABLE_CURSOR_NAME.COLUMN_NAME%TYPE‬‬
‫اﺱ ا
 '‬ ‫اﺱ ا
* ول أو ا
‪'Aa‬‬ ‫; ‪%TYPE‬اﺱ ا
(د‬
‫‪ !& j‬ذ
‪: Z‬‬
‫و‪ /5‬ﻡ ی&‪ >#t /‬ﻡ‪ً l‬‬
‫آ& ﺏ'ﻡ*
('ض اﺱ‪ 7‬ا
|‪ T7‬وراﺕ ‪ €7‬ﻡ‪ B7‬ﺝ‪ 7‬ول ا
‪ ، (EMP) B|7‬ﺏ‪ X7R‬ی‪7W‬ن ر‪ 7‬ا
|‪T7‬‬
‫ی@وي ‪. 7782‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪21‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫د ‪ C‬ان ‪'f‬ح ا
‪l‬ل ا
@ﺏ‪ u‬ﺏ
 ‪:‬‬
‫ا
@‪ 'D‬اول ‪ :‬آ& ﻡﺡ )‪ (Declare‬ﺕ‪ R‬د ﺝ;ء ا
'ی‪ d‬وا
('ی‪. T‬‬
‫ا
@‪ 'D‬ا
‪ : /l‬ﺕ('ی‪ T‬ﻡ ' واﺱ€ )‪(name‬وع ﺏﺕ€ Œ ع ﺏت د)‪(ename‬ﻡ‪ B‬ﺝ ول)‪.(emp‬‬
‫ا
@‪ 'D‬ا
‪ : X
l‬ﺕ('ی‪ T‬ﻡ ' واﺱ€ )‪(salary‬وع ﺏﺕ€ Œ ع ﺏت د)‪(sal‬ﻡ‪ B‬ﺝ ول)‪.(emp‬‬
‫ا
@‪ 'D‬ا
'اﺏ\ ‪ :‬آ& ﻡﺡ )‪ (Begin‬ﺕ‪ R‬د ﺝ;ء ا
‪. >C‬‬
‫ا
@‪ 'D‬ا
?ﻡŒ ‪ :‬ﺝ& اﺱ(‪F‬م )‪ (select‬ی@'ﺝ\ ا‪j‬ﺱ وا
'اﺕ‪ (ename) V‬و)‪. (sal‬‬
‫ا
@‪ 'D‬ا
@دس ‪ :‬آ& ﻡﺡ )‪c (into‬ﺱ‪C‬د 
& ‪'7‬ات ا
‪ /7‬ﺕ‪ 7‬ﺕ('ی<‪ /75 7‬ﺝ‪;7‬ء ا
‪'7‬ی‪ (ename) d‬و‬
‫)‪. (salary‬‬
‫ا
@‪ 'D‬ا
@ﺏ\ ‪ :‬أ‪ 'A‬إ
! اﺱ'ﺝع ا
@* ی‪W‬ن ﻡ‪ B‬ﺝ ول ا
|‪. (emp) B‬‬
‫ا
@‪ 'D‬ا
‪l‬ﻡ‪ : B‬ﺝ& ا
‪'f‬ط ‪j‬ﺱ'ﺝع ا
@* ﺏ‪ XR‬ی‪W‬ن ر ا
|‪ (empno) T‬ی@وي )‪. (7782‬‬
‫ا
@‪ 'D‬ا
ﺱ\ ‪ :‬ﺝ& ا
‪   D‬ﺏ‪ XR‬ی‪ \ D‬اﺱ ا
|‪ T‬وراﺕ € ا
@'ﺝ\ ﻡ‪ B‬ﺝ& ا‪c‬ﺱ(‪F‬م ا
@ﺏ‪. G‬‬
‫ا
@‪ 'D‬ا
(‪ : 'A‬آ& ﻡﺡ )‪<c (End‬ء ا
'ﻡ‪ L‬أو آ& ا
'ﻡ; وﺕ‪ /<C‬ﺏﺹ& ﻡ‪. HGC‬‬
‫ا
@‪ 'D‬ا
‪R‬دي ‪ : 'f‬ی ل ا
'ﻡ; )‪ !& (/‬ﺕ‪ >C‬ا
'ﻡ‪ L‬أو آ& ا
'ﻡ; ا
@ﺏ‪. G‬‬
‫ﻡ&‪: |R‬‬
‫‪ .1‬ا
@‪ 'D‬ا
ﺱ\ ‪' :‬ى ا
'ﻡ; )||( ‪ ،‬وی@? م
‪    D‬أآ‪ 'l‬ﻡ‪ B‬ﻡ ' أو ﺝ& ‪ Œ /5‬ﺝ& ا
‪.   D‬‬
‫‪ x   D
.2‬ی*‪ V‬وﺽ(€ ﺏ‪F B‬ﻡ‪ /‬ﺕ‪ xC‬ﻡ'دة ‪.‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪22‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫* ا‪J‬ﺹ*! أو اداة )‪: (%ROWTYPE‬‬


‫اداة )( ‪ ،‬وه‪ /‬ﺙ‪ /‬أداة
('ی‪ T‬ﻡ ' ﻡ*  ‪ ،‬وﺕ@? م
‪t‬ﺱŒ ﻡ‪ 5‬ﻡ‪ B‬ا
 'ات ﻡ ‪!& C‬‬
‫ا  ة ا
ﺝدة ‪ /5‬ﻡ‪ 'Aa‬ﻡ أو ﺝ ول ﻡ ‪ .‬وا
‪ Wf‬ا
(م
&('ی‪ T‬ﺏ<>= اداة ‪:‬‬
‫; ‪ARRAY_NAME TABLE/CURSOR_NAME%ROWTYPE‬‬
‫اﺱ ا
 '‬ ‫; ‪%ROWTYPE‬اﺱ ا
* ول أو ا
‪'Aa‬‬
‫و‪ /5‬ﻡ ی&‪ >#t /‬ﻡ‪ً l‬‬
‫‪ !& j‬ذ
‪: Z‬‬
‫آ& ﺏ'ﻡ*
('ض اﺱ‪ 7‬ا
|‪ T7‬وراﺕ ‪ €7‬وو|‪ €7‬ﻡ‪ B7‬ﺝ‪ 7‬ول ا
‪ ، (EMP) B|7‬ﺏ‪ X7R‬ی‪7W‬ن ر‪7‬‬
‫ا
|‪ T‬ی@وي ‪ ). 7782‬ﺏﺱ? ام اداة ‪: (%ROWTYPE‬‬

‫‪'A‬ح ا
'ﻡ‪ L‬ا
@ﺏ‪: u‬‬
‫ه Œ ا
'ﻡ‪ L‬ا
‪>7‬ي آ ‪ /75 7C‬اداة )‪ (%TYPE‬و
‪ B7W‬ی?&‪ T7‬ه‪ /75 7C‬ﺏ(‪ S7‬ا
‪'7G‬ات ‪ B7‬ا
'‪7‬ﻡ‪L‬‬
‫ا
@ﺏ‪ u‬ﻡ‪ B‬ﺡ‪ X‬ا
‪W‬ﺏ ‪:‬‬
‫‪ -1‬ﺕ ﺕ('ی‪ T‬ﻡ ' )‪ (x‬ﺕ‪ Œ >#t‬ع أ  ة ﺝ ول ا
|‪. (emp) B‬‬
‫‪ -2‬ﺝ& ا
‪ /5   D‬ا
@‪ 'D‬ا
‪l‬ﻡ‪ B‬ی?&‪ B T‬ا
@ﺏ‪ 7   H C(5 u‬ﻡ ‪ '7‬ی*‪ V7‬وﺽ‪ \7‬اﺱ‪ 7‬ا
 ‪ '7‬ﺙ‪7‬‬
‫‪:F‬‬
‫‪ DG‬ﺙ اﺱ ا
(د ‪ /5‬ا
* ول آ
‪ Wf‬ا

‪ /‬ﻡ‪ً l‬‬
‫;) ‪DBMS_OUTPUT.PUT_LINE ('Name: ' || x.ename‬‬
‫ﻡ&‪: |R‬‬
‫‪ F‬واﺡ ًا ‪ ، gG5‬وإذا اﺱ'ﺝ\ أآ‪ 'l‬ﻡ‪ B‬ﺱ* ﺱ‪ R‬ث ‪. tD#‬‬
‫آ ﻡ ﺱ ‪ u‬ﺕ@! ا
‪'Aa‬ات ا
‪ ، CE‬وﺕ@'ﺝ\ ﺱ* ً‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪23‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫أ ‪ !(F‬ا  ا‪: E2F‬‬


‫‪ -1‬آ& ﺏ'ﻡ* ﺕ‪ x \ D‬و ا
 ' )‪: 1500 = (X‬‬

‫‪ -2‬آ& ﺏ'ﻡ*‪ 7‬ﺕ‪'@7‬ﺝ\ اﺱ‪ 7‬ا


|‪ T7‬وراﺕ ‪ €7‬واﺱ‪ 7‬ا
‪ @7G‬ا
‪>7‬ي ی‪ €75  f7‬و‪ ، €7  H‬ﺏ‪ X7R‬ی‪7W‬ن ر‪7‬‬
‫ا
|‪ T‬ی@وي )‪ : (7782‬ﺏﺱ? ام اداة )‪: (%TYPE‬‬

‫‪ -3‬آ& ﺏ'ﻡ* ی‪ 7  H €75 7‬اﺱ‪ 7‬ا


|‪ T7‬وو|‪ €7‬ا
‪>7‬ي ی‪ 7R‬ا
‪ . (7782) '7‬و
‪ B7W‬ﺏﺱ‪ ?7‬ام اداة‬
‫)‪: (%ROWTYPE‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪24‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ﺕر ‪ C‬ا  ا‪: E2F‬‬


‫ا‪bL‬ال اول ‪:‬‬
‫أ>] ‪c B‬ﺕ‪: E‬‬
‫‪ -1‬ﻡذا ﺕ(‪ /C‬آ& ا
 ' ؟‬

‫‪ -2‬ﻡ ه‪ /‬أه ا
 'ات ؟‬
‫أ‪-‬‬
‫ب‪-‬‬

‫‪ -3‬أذآ' ‪'A‬وط ﺕ@ ا


 'ات ؟‬
‫أ‪-‬‬
‫ب‪-‬‬
‫ج‪-‬‬
‫د‪-‬‬
‫هـ ‪-‬‬
‫و‪-‬‬

‫‪ - 4‬ﻡ ه‪ /‬أاع ا
 'ات ‪ PL/SQL 
/5‬؟‬
‫أ‪-‬‬
‫ب‪-‬‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬


‫‪25‬‬ ‫آب ﺕ ا ا
ت ‪PL-SQL‬‬

‫ا‪bL‬ال ا‪: E2F‬‬


‫ا ‪ d‬ا ‪3‬ا‪e‬ت ا*! ‪:‬‬
‫‪.‬‬ ‫‪ .1‬ﻡ‪ B‬أط ا
ت ا
‪ char C‬و ‪..........................‬‬
‫‪.‬‬ ‫‪ .2‬ی‪ BW‬ﺕ('ی‪ T‬ا
 'ات ‪ /5‬ﺝ;ء ‪...........................‬‬
‫‪ .3‬ﺕ@? م اداة )‪
(%ROWTYPE‬ـــ ‪. ..........................................................................‬‬
‫‪ .4‬ا
‪ G‬ا‪'5j‬اﺽ ﻡ‪ g B‬ا
ت )‪ C (CHAR‬ﻡ ‪ j‬ی ﺕ‪ R‬ی ا
‪D‬ل ه ‪. ................‬‬
‫‪ .......... .5‬ا
‪D‬ل ا
‪W‬ﻡ
&‪ ، G‬و ‪ ........................‬د ارم ا
‪ BW‬وﺽ(< إ
! ی‪ B‬أو ی@ر‬
‫ا
ﺹ& ا
(‪'f‬ی ‪.‬‬
‫‪ ....................... .6‬ی@? م
& ت ا

 أو ا
‪. GDC‬‬
‫‪ DATE .7‬ی@? م
ــ ‪. .......................................‬‬

‫ا
@‪a‬ال ا
‪: X
l‬‬
‫‪ -1‬اآ‪ V‬آ& ﺏ'ﻡ* ‪j‬ﺱ('اض ﺕری‪ m‬ا
(‪ T|&
B‬ا
>ي اﺱ€ )‪ (KING‬؟‬
‫‪ -2‬اآ‪ V‬آ& ﺏ'ﻡ*
‪@R‬ب د ا
|‪ /5 B‬ﺝ ول ا
|‪ (EMP) B‬؟‬
‫‪ -3‬اآ‪ V‬آ& ﺏ'ﻡ* ﺕ‪G‬م ‪ €5‬ﺕ('ی‪ T‬ﻡ 'ی‪ B‬ﻡ‪ B‬ا
‪C‬ع ا
'‪ /‬وﺕ‪7
 V@C‬ول )‪ (50‬وا
‪، (30) /7l‬‬
‫ﺙ ﺕ‪G‬م ﺏ*\ ا
( دی‪ B‬و‪   H‬ا
‪C‬ﺕ‪ L‬؟‬

‫‪ezonet@hotmail.com‬‬ ‫ﺇﻋﺪﺍﺩ ‪ :‬ﻋﺰﺍﻟﺪﻳﻦ ﺣﺴﻦ‬

You might also like