Professional Documents
Culture Documents
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
١٦٢
אא א
١٦٢
W،،אא،א
אאאאאאאאאא
א א ،א א א א א א
אא אאאא
،אאאאאא
K אאא
אאאאאאא
א ،א אא
א א א א א א א ،
א،אאאא
אאאאאאאאאאאאא
א א ،א
Kאא،אא
א???אא?אא
Kאאאאאא
אאאאאאא
،א،אאאא
Kאאאאא
،אאאא
Kא
אאאא
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
١
אא אא א
אא ١٦٢
Wאא
אאא
Wאא
אא K١
אאא K٢
Wאאא
K٪١٠٠אאא
Wאא
Wאא
H
Wאא
Kאאאאא
-١-
אא אא א
אא ١٦٢
א
אאאאאWא
אאאKK
אKאאKKKאאאאאא
אא
אאאאאא
אאאKאאא
א אאאאאאא
Kאא
אא
؟EDatabase Management Information SystemFDBMSאא
،
אאא אא
،אאאא
א ،א אא
Kאאאאאאא
-٢-
אא אא א
אא ١٦٢
א
Wא
WEHardwareFא אJ ١
א، א א،
אאאא
KאKKKאאא
WESoftwareF אJ ٢
W،אאאא
אאאאא אאWא J
KLinux, Unix, WindowsK…א
Oracle, אאאאWא J
KKKKSybase, DB2
אאא אאWאאאאא אJ
KKKKאאא
WאאאW אJ ٣
א אאאא
אWא J
Wא
Kאאאאא K١
Kאאאא K٢
Kא K٣
WאאאאWא J
Kאאא K١
Kאאא K٢
Kאא K٣
אאאאאאא K٤
Kא
-٣-
אא אא א
אא ١٦٢
א אE
אF
א
א J
Wא
אאאא K١
Kאאא K٢
Kאא K٣
אאאא K٤
Kאאאאא
Kאא K٥
אאאאWא אJ
Wא
אאE
F אא K١
Kא
Kאאא K٢
Kאאאא K٣
אאא
אWאאJ هـ
KאKKKא،א،א،אאאא
אאא
אאWאאא אJ ٤
Kא
KאאאאW אJ ٥
אאאא
Kאאא
-٤-
אא אא א
אא ١٦٢
Wאא
،א
אאאאא אאא K
E
אF
אא
א
אאאאא
אאא אאא
K
Wאא
Wאאא אJ ١
Kאאאאאאאאא J
אאאאאאאאא א J
Kאאאאא
Kאאאאאאאאא J
א אאאWא J ٢
אאאא א
Wא
א F
אא א J
WEאא
אאאאאא K١
אא K٢
Kא
אא K٣
K
אאא، אאאאא K٤
KKKK
אא אא،א، אאא
K
KEDBMSFאא אJ
-٥-
אא אא א
אא ١٦٢
KEDBMSFאאאא J
אאאאא אJ
KEDBMSFאאאא
אאא אאאW א J ٣
KKKKאאאאא
Wאא J ٤
Kאא J
Kאאאא J
،KKאאאאאWאא J ٥
Kאאאאאאא
אאW אJ ٦
אאאאאאאאא
Kא
-٦-
אא אא א
אא ١٦٢
؟אאא J ١
אאאא J
KאאאאאאJ
Kאא J
W J ٢
א
אא
؟א J ٣
Kא אJ ٤
Kאא،אא אJ ٥
-٧-
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אאא
אאא
٢
אא אא א
אאא ١٦٢
Wאא
Kאאאא
Wאא
Kאאא
KEאFאאאא
KEאFאאאאא
Wאאא
K٪١٠٠אאאא
Wאא
K
Wאא
KH
Wאא
Kאאאאא
-٨-
אא אא א
אאא ١٦٢
Wאא
אאאאאCoddא١٩٧٠אאא
Kאאא אא
אא،אאאאא
אאאKאאאאאאא
אERelationsFETablesFאא
אKEאFא
א،EFא
אאERecords or TupleF א
אKא
א א EDomainFEAttributesFאא
KKאאאאKאא
א אאאאEPrimary KeyF
אא אאKאאEאF
KERelational DatabaseFא
אEStudentFאאא
Studentא אJ
Kא J
KאSt _Noא אJ
KאאDept_Code אJ
J ٢٠٠١אאאאא אEGpaFא J
K١٠J ٠١
GpaאWא J
אאאא Dept_CodeאK٥KK١
Kא
-٩-
אא אא א
אאא ١٦٢
אאKאא J
Wאא
Student
St _No St _Name Gpa Birth_Date Dept_Code
J ٠١J ٢٠٠١ Sami ٣{٧٥ ١٩٨١J ٠١J ٠١ Comp
١٠
J ٠٢J ٢٠٠١ Khalid ٣{٥ ١٩٨٢J ١٠J ١٠ Math
٩٩
J ٠١J ٢٠٠٠ Ali ٤{٢ ١٩٨٠J ٠٨J ١٢ Comp
١٠١
- ١٠ -
אא אא א
אאא ١٦٢
WEאFאא
א אאאא
אאKאאאאאא
Wאא
אא
אWESuper KeyFא אJ
אאKאאא
K
St_No
St_No, St _Name
St_No ,dept_code
אאEאFאWECandidate KeyFא אJ
אא
KENullFא
St_No, St _Name
St_No
KSt_No،،א
אאאאאWEPrimary KeyFא אJ
K St_NoKאא
،אW
א אJ
Customer _idאא
E>؟ אFא
אאא،אאאא
K
Customer _id Customer name tel Address
- ١١ -
אא אא א
אאא ١٦٢
WEאFאאא
אאאאאאא
WאאKאאא
אאאאאWE١W١Fאא K١
אא
אאאאא
Kא
Person 1 1 Passport
- ١٢ -
אא אא א
אאא ١٦٢
אאא
Kאא
Student n 1 Department
אאאאWEN:NF K٣
Kאאאאאא
א
K
Student n n Class
- ١٣ -
אא אא א
אאא ١٦٢
W J ١
א א
א א
א א
Kאאאאאא J ٢
אאאאאא J ٣
K
אא J ٤
EN :NFאא
E NW١Fא
EN :NF
- ١٤ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٣
אא אא א
אא ١٦٢
Wאא
אאאא
Kאא
Wאא
Kאאא
Kאא
Wאאא
K٪١٠٠א
Wאא
K٤
Wאא
H
Wאא
Kאאאאאא
- ١٥ -
אא אא א
אא ١٦٢
W
א ،אא אא
אKאאא
K אאאאאאא
אאאא
Kאאאאאאא
אא
Entity אאאא
אאא
KRelationship (ER)Diagram
Wא
؟א
KאאEFא
אKא
אאאאאאא
אאאאKאא
אאאK
אא
אאKאאא
E אFאאאאאאא
،אאE אFאEאFא
אאEאFאאאאא
Kאאא
ﻣﺨﻄﻂ ﻣﻨﺰل
- ١٦ -
אא אא א
אא ١٦٢
Wאא
אאא
WאאאKKא
EObjectsF
אא אEEntity SetF
א
EEntityF אKאאא
، א،אK אאאאא
אאKאאא
א
אK
א
Kא
Patient Student
ﻣﺮﻳﺾ ﻃﺎﻟﺐ
א،א
א WEAttributesFאא
KK אאאאא
،א،אא،א،א،א،א
אאאאא
Kא،א
K
Student
א אא WEDomainFא
٣٠אא،
א
אKE٣{٥F
٥KK٠אא א،
אK ٢٢אא
Kאא אאאאאא
Eprimary keyFאאEאFא
Kא
- ١٧ -
אא אא א
אא ١٦٢
Car_model
Car_year
car
Car_Code
א
WSimple and Composite AttributesאאאJ
K אא،
א
،א،א،אFאא،Eאא،א،אאF
אKKEא
Kאאאאאאאא
Fname Init Lname
Name
Student
Car_Col or
car
- ١٨ -
אא אא א
אא ١٦٢
WEDerived AttributesFאא
א
אא
א
א Kאאאא
Kאאאא
Kא–אאZא
ِAge
Student
K א אא
אאא אא
Kאאא
WERelationshipsFאאא
אאאאאאאא
KEKKKK،،،Fאא
אאאK Kאאאא
KEN:NFEN :1FאE١W١Fאא
Kאא
N N
Enroll Class
Student
- ١٩ -
אא אא א
אא ١٦٢
אא
א Wאא
א
אאKאאא،אא
EאF אא א אא
אאK א
אאFא אאאא
KEאאא
Name
No Employee
Relationship
D_Name
Dependent B_date
- ٢٠ -
אא אא א
אא ١٦٢
:ERecursiveFא
אאא،אאא
E אאF
EאFא
- ٢١ -
אא אא א
אא ١٦٢
F אאWא
אאאKEER Diagramאא
Kאאאאאא
Fאא א J ١
אאאא،Eא א
Kא،אאאא
Kא אJ ٢
אא
א J ٣
א،
אאFאא
Kאאאא،א،Eאאאא،אאF
אא אאF אJ ٤
KאאאEא
،א،א،،
אאא J ٥
Kאא
Kאאא J ٦
- ٢٢ -
אא אא א
אא ١٦٢
- ٢٣ -
אא אא א
אא ١٦٢
WJ ١
KEntity א
KAttribute א
KRelationship א
KאאאאאאאאJ ٢
؟אא؟אאאאאJ ٣
Kאאא אJ ٤
WאאאJ ٥
אאJ
Kאא،
אאJ
Kא
אאאJ
Kא
אאאJ ٦
אאאא
אאאאא
Kאאאא
WאאאJ ٧
- ٢٤ -
אא אא א
אא ١٦٢
- ٢٥ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٤
אאא אא א
אא ١٦٢
Wאא
K3NFאאאאאא
Wאא
: EData AnomaliesFאאא
אאא
אאאא
אאאא
אאאא
Wאאא
K٪١٠٠3NFאאאאאא
Wאא
Wאא
H
Wאא
Kאאאאאא
- ٢٦ -
אאא אא א
אא ١٦٢
W
אאאא
אאאKאא
אKK אאאאאאא
אאאאאאאא
.EThird Normal Form 3NFFא
: EData AnomaliesFאא
Employee_department
Empno Ename Job Salary Deptno Dname Loc
101 Sami clerk 3000 10 Accounting Riyadh
205 Khalid manager 2500 10 Accounting Riyadh
303 Ali salesman 1200 20 Sales Jeddah
502 Saeed salesman 2100 20 Sales Jeddah
601 Salem clerk 1000 30 Operation Dmmam
אאאאאא
Wאאאאא
،אאא Wא J ١
Kאאא،
٢٠אELocFאאא אW א J ٢
אאאאאRiyadh Jeddah
K אאא א
Kא٣٠٣אאא
٣٠٣אJeddah אאא
Kא
،א٣٠אWא J ٣
Kא٣٠א٦٠٦א
- ٢٧ -
אאא אא א
אא ١٦٢
FD :Functional Dependency
אא
Functional Fאאאא
WאאאאאEDependency FD
EXאYFFXYאWReflexive אJ ١
YX
1- X ⊇ Y : X ÆY
XZ YXאWAugmentationא א J ٢
YZ
2- { XÆ Y} ╞ XZÆYZ
ZY YXאWTransitiveא J ٣
KZX
3- {XÆ Y ,YÆZ} ╞ XÆZ
ZX Y XאWUnionא J ٤
KYZX
- ٢٨ -
אאא אא א
אא ١٦٢
Kאאאאאא╞
- ٣٠ -
אאא אא א
אא ١٦٢
P1א אא
K
٢٠אאא
Kא
אאאאא
אEאאF
Wא
אא
FD 4 :No, Project_CodeÆ name
FD 5 :No, Project_CodeÆ Deptno
FD 6 :No, Project_CodeÆ Hours
FD 7 : Deptno ÆDname
FD 8 :No, Project_CodeÆ Name ,Hours, Deptno, Dname
אאאFD1,FD2FD4,FD5
אאאאFD5 ،א
אא،
א
KE1NFFאאא
:ESecond Normal Form 2NF Fאאא
Wאאאא
Kאאאאא J ١
Kאאא J ٢
אאאאEאFאWאא
A
C
B
C C B A,B אאCCA,B
KאאאאKBאא
- ٣١ -
אאא אא א
אא ١٦٢
NO Name Project_Code Hours Deptno Dname
210 Ali P1 12 10 Research
210 Ali p2 20 20 Operation
210 Ali p3 40 20 Operation
201 Salem P1 30 10 Research
201 Salem p3 15 20 Operation
305 Ali P2 40 20 Operation
305 Ali p3 20 20 Operation
؟אאאאאא
Wאאא
؟אאאאJ ١
Kא،،
؟אJ ٢
אא
FD 1 :No Æ Name
FD 2 : Project_CodeÆ Deptno,Dname
FD 3 :No, Project_CodeÆ name ,deptno, hours
אאNameNo No, Project_Codeאא
Kא DnamedeptnoProject_Code
אאאא אא
Wאאאאא
אאא
אא J ١
KEאאF
אא אא J ٢
KEאאFא
KEאFא J ٣
Wאאאאא J ٤
- ٣٢ -
אאא אא א
אא ١٦٢
NO Project_Code Hours NO Name
210 P1 12 210 Ali
210 p2 20 210 Ali
210 p3 40 210 Ali
201 P1 30 201 salem
201 p3 15 201 salem
305 P2 40 305 Ali
305 p3 20 305 Ali
B
A
C
C B A
אאC,BC,B A
אאאKBאא C
K
؟אאאאאאא
Wאאא
- ٣٣ -
אאא אא א
אא ١٦٢
؟אאאאאJ ١
Kאאאאאא
؟אJ ٢
אא
אאJ
FD 1 :No Æ Name
Kא
אאJ
FD 1 :No, Project_CodeÆ hours
Kא
אאJ
FD 1 : Project_CodeÆ Deptno,Dname
FD 2 : Deptno Æ Dname
Deptno
אDeptnoDnameProject_Code אא
אאK אDname
א א א
אאא
EDeptnoFאא
Kאאאאא J ١
Wאאאאא J ٢
P1 10 10 Research
p2 20 20 Operation
p3 20
- ٣٥ -
אאא אא א
אא ١٦٢
Kא EData AnomaliesFאאא K١
Kאאא אK٣
א K٤
Kאא אJ
Kאא אJ
Kאא אJ
W K٥
Kאאא J
Kאאא J
Kאאא J
אא؟אאאאא K٦
Kאאאא
Course Sec_ Dept Credit Course Ins_id Semeste Year Date Room No_of
_No No _Hours Level r _No _
stu
א א א א א א
א א א אא אאא אא א
- ٣٦ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٥
אא אא א
אא ١٦٢
Wאא
Kאא א
Wאא
Kאאא
Wאאא
K٪١٠٠אאא
Wאא
Wאא
H
Wאא
Kאאאאאא
- ٣٧ -
אא אא א
אא ١٦٢
Eאא אא א
אאKEאאFאא
Eא א Fא א
. אא
WEאאFאאא
- ٣٨ -
אא אא א
אא ١٦٢
W
א Relation (R)א Entity (E) J ١
אאאאא
K א א ،
Wאא
Employee
Eno Fname Mid Lname sex Birthdate Salary
KEFא
Department
Deptno Dname Location
אEFא
KEQueryFאא
- ٣٩ -
אא אא א
אא ١٦٢
Project
Pnumber Pname Plocation
W Weak Entityא
Relation (R)א EWeak EntityF
א א א א א א
א א א א א ،
א א ، א א א
KEאאאFאא
Dependent
Eno Name Sex Birthdate Relationship
- ٤٠ -
אא אא א
אא ١٦٢
E ١W١F א א א א Wא
אE NWNFE NW١Fא
Wאא
E١W١FאאJ ١
א E ١W١F א א
Kאא
1 1
EN: 1Fא J ٢
EF EN:1F א
KE١FאאאאENFא
1 N
Employee
Eno Fname Mid Lname sex Birthdate Salary Mgr
- ٤١ -
אא אא א
אא ١٦٢
אא א א EMgrF א
EאFא
N
1
Employee
Eno Fname Mid Lname sex Birthdate Salary Mgr Deptno
FאאאEDeptnoF א
Eא
Project
Pnumber Pname Plocation Deptno
א א א א EDeptnoF א
KEאF
- ٤٢ -
אא אא א
אא ١٦٢
EN:NFJ ٣
א א EN:NF
אKאאא
N N
Works_for
Eno Pnumber Hours
(א،א،א )א
אאא אEא،אF
Kא א،א
ISAESuper Type FאאאESubtypeFאאאא
אאאאאאא
Wא
א
אא J ١
א J ٢
Kאאא
- ٤٣ -
אא אא א
אא ١٦٢
Wאאא
S_Employee
H_Employee
Eno Salary
Eno Hour_Rate
- ٤٤ -
אא אא א
אא ١٦٢
؟אאא K١
KN:Nאא K٢
Super FאאאESubtypeFאאא אאא K٣
KISAEType
אא K٤
Kאא٦אאאא K٥
- ٤٥ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٦
אא אא א
אא ١٦٢
Wאא
KPLSQLאאאא
Wאא
PLSQL אא
PLSQL אאא
Kאאאאאא
KאDatatypesאאא
Wאאא
K٪١٠٠אאאאא
Wאא
Wאא
-
H -
Wאא
Kאא אאאSQLאאא
- ٤٧ -
אא אא א
אא ١٦٢
W
Programming Language FSQLא؟PL/SQL
אאOracleEStructured Query Language
א אאאאאאא
אאאאאא
KאאSQL
KKKKא
،Modulesאאאאאאאאא
אאKאאKPL/SQL
،Modulesאאאא
אאא،אאאא
Database Serverא א
אאאאא
Source אאאאאאKא
אKP-Code אCompileאCode
Wאאאאא
Wאאאא
אא אאאWAnonymous Block K١
אאאK
Kאאאאאא Kא
- ٤٨ -
אא אא א
אא ١٦٢
אא،SubprogramsWNamed Block K٢
Function, Procedure, Trigger, Wאאא
KPackage
אאא
א
KNested Blocksאא
W (Blocks)אא
Wא(Block) א
אאאאאDeclarative EאFא K١
אאאאECursors Fאא،(Block)א
אאאאאאאאאא
Kא(Block)
אאא SQLExecutable:א אK٢
Eא،א،אאFא
،אא،א(Block) אאאPLSQL
KאאאאאKKKKKאא
אא אאWEExceptionFאאא אK٣
Kאאאאא
- ٤٩ -
אא אא א
אא ١٦٢
Wאאאא
Fאאאאאאאא
WPLSQL(Block)
Wאאאאא
Wאא K١
אאאאאאאאא
Kאאאאא
Wאא K٢
אאאאאאא
Kאאא
Wא K٣
EאאF%ROWTYPE %Typeאא
א
אאאאאא א
Kאאא
Wאא
א
אאאPLSQLאאאא
א،
אאאאא
PLSQL (Block) א
Wאאאאא KE;F
identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT | expression ] ;
- ٥٠ -
אא אא א
אא ١٦٢
אא Identifier
אאאא CONSTANT
K
KאאCONSTANTאאא
אאא datatype
NOT NULLאאא، NOT NULL
Kאא
، PLSQL expression
EFא
W
Declare
v_name VARCHAR2(10) ; א
אא
v_date DATE ;
v_id NUMBER(2) NOT NULL
:=10 ;
١٠אא
NULL
V_comm CONSTANT NUMBER
:=120;
אאא
١٢٠אא
BEGIN
……
END;
- ٥١ -
אא אא א
אא ١٦٢
Wאאאאא
KSQLאאא אK١
(Block) אא J
K
K(Block) אאאאאא J
K٣٠א J
KSQLאאאאא J
A-Z, a-z, 0-9, _, #,$ J
CONSTANTNOT NULLאאאאא K٢
Kאאא
KDEFUALT אאא:=אאא K٣
Kא K٤
Wאא
אא
Kא:=אאאא J
Identifier := expression ;
W
v_name :=’Ali’ ; v _name Ali אא
net_sal := v_sal –v_sal*.08; net_sal א
SELECT אאא J
J
SELECT ename
INTO v_name
FROM emp
WHERE empno = 7788;
א ename אאאא
v_name
ename אאא
K
- ٥٢ -
אא אא א
אא ١٦٢
W Datatypes אאא
WScalar Datatype אאאאJ ١
Wאא אאKאאאא
א א
א sizeאאא VARCHAR2(size)
אKאא
Byte ٣٢{٦٧٦Kא
א א sizeאאא CHAR[(SIZE)]
אאאKא
Byte٣٢{٦٧٦١אא
אאPrecisionאאא NUMBER
(precision,scale)
אאscale
EFאא DATE
٩٩٩٩א٤٧١٢אא
Kא
א sizeאאא LONG
אKאא
Byte٣٢{٦٧٠Kא
Byte٢{١٤٧{٤٨٣{٦٤٧LONGא
Kא EBinaryFאא LONG RAW
TRUE,FLASEאא BOOLEAN
א BINARY_INTEGER
٢{١٤٧{٤٨٣{٦٤٧J ٢{١٤٧{٤٨٣{٦٤٧
٢{١٤٧{٤٨٣{٦٤٧J ٢{١٤٧{٤٨٣{٦٤٧א PLS_INTEGR
BINARY_INTEGERNUMBER
- ٥٣ -
אא אא א
אא ١٦٢
W
v_job VARCHAR2(9);
v_count BINARY_INTEGER := 0;
v_total_sal NUMBER(9,2) := 0;
v_orderdate DATE := SYSDATE + 7;
c_tax_rate CONSTANT NUMBER(3,2) := 8.25;
v_valid BOOLEAN NOT NULL := TRUE;
א%TYPEאאא
Kא
v_enameemp.ename%TYPE;
empא enameאא v_enameא
v_balanceNUMBER(7,2);
v_bqlqnceא
v_min_balancev_balance%TYPE := 10;
K١٠אא v_balanceאא v_min_balanceא
WBOOLEAN אאא
KTRUE , FLASE, NULL אאאJ
AND,OR ,NOTאאאאאJ
אאאאאאאא
KFALSE TRUE(A<B)
W
V_Sal1 NUMBER: =1000 ;
V_Sal2 NUMBER: =2500 ;
Valid BOOLEAN:= (V_Sal1 >
V_Sal2);
אV_SAL1 > V_SAL2 Validא
KTRUE ValidאאאTRUE א
- ٥٤ -
אא אא א
אא ١٦٢
- ٥٦ -
אא אא א
אא ١٦٢
؟אPLSQLאאאא K١
1- DECLARE
VI_ID NUMBER (4);
2- DECLARE
v_x ,v_y ,v_z VARACHAR2(10);
3- DECLARE
V_Date DATE NOT NULL;
4- DECLARE
V_valid BOOLEAN :=1;
אאאא K٢
1- V_days := v_date-SYSDATE;
4- V_days:=v_date-SYSDATE;
5- v_flage := TRUE;
7- v_value := NULL;
- ٥٧ -
אא אא א
אא ١٦٢
G_CHAR
----------------------
42 is the answer
G_NUM
----------
42
- ٥٨ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٧
אא אא א
אא ١٦٢
Wאא
Kאאאאא
Wאא
KEBlockFאאאאא
Kאאא
Kאאאאאאאא
Kאאא
Kאאאא
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K -
H -
Wאא
Kאאאאאאאא
- ٥٩ -
אא אא א
אא ١٦٢
،PLSQL EBlockF א א א א א
(Block),אאאאאא אא
Kאאאאאא
PLSQL ESyntax Fא
אא E ،אF אא PLSQL א
אKKKKא،אא،אאאא
אKאאאאאאאא
K
WאJ
WEאFא אK١
Kא٣٠אJ
אאJ
KJ
K(Block) א אJ
W
v_name varchr2(20);
xyx number;
birth_date date;
W
1no number ;
Dept%id number(2);
Select varchar2(10);
W Literal Values א אK٢
אDateאCharacterאאאJ
KE‘ ‘F
v_name:=’ali’;
KאאאאNumbersאאJ
v_id :=201;
- ٦٠ -
אא אא א
אא ١٦٢
WOperations אK٣
K ENOT,**FאאJ
EJ ،HFא אJ
EL،*FאאJ
KE =,>,<,<=, <=, IS NULL, LIKE, BETWEEN, IN FאJ
EAND OR FאאJ J
WComments אאJ
אא אאא
Kאאא
אאאE--FאאאJ
K
אE*/ FאאE/* Fאא J
Kא
…..
V_name varchar2(20) ;-- this variable used to hold the employee name
Begin
/* this code is used to read
The employee salary and calculate the annual salary
And print the annual salary
*/
…….
End ;
K Using Functions אאאא
WEBlockFאאאאאאא
W SQLאאאא K١
(ROUND ,TRUNC, SQRT ….FNumber Functionsאא אJ
v_sal:= ROUND(v_sal,2) ;
FROM emp
WHERE empno =7788;
Num_months := MONTHS_BETWEEN(SYSDATE,v_date);
- ٦٢ -
אא אא א
אא ١٦٢
x אEBlockFא x א א
אא אאאאא (Block) א
א(Blocks) אאאאאא y K(Block) א
Kא(Block) אאא
אאאאאא J
Kאא(Block) א
...
x BINARY_INTEGER;
BEGIN
...
DECLARE
X NUMBER;
BEGIN
... داﺧﻞ هﺬﻩX أي اﺳﺘﺨﺪام
END; ( ﻳﻜﻮن لBlock) اﻟﻮﺣﺪة
...
END;
DECLARE
v_sal NUMBER(7,2) := 60000;
v_comm NUMBER(7,2) := v_sal * .20;
v_message VARCHAR2(255) := ' eligible for commission';
BEGIN
DECLARE
NUMBER(7,2) := 50000; v_sal
NUMBER(7,2) := 0; v_comm
NUMBER(7,2) := v_sal + v_comm; v_total_comp
BEGIN
v_message := 'CLERK not' || v_message;
END;
- ٦٣ -
אא אא א
אא ١٦٢
v_message := 'SALESMAN'||v_message;
END;
Wאאאאא
ESub BlockFאאא v_messageJ
אEBlockFאv_total_compJ
ESubBlockFאאאv_comm J
אEBlockFא v_comm J
אEBlockFא v_messageJ J
EProgramming GuidelinesFא
א ، א א א א א
א א א א אא א א
א א א אא א K
Wא
אאאא K١
Kאאאאא
E Case conventionF אאאא אK٢
Wאאאאאאאא
- ٦٤ -
אא אא א
אא ١٦٢
Wאאאאא אא
א א
v_empno, v_sal v_name variablesאא
c_sal , c_tax c_name אא
emp_cursor, Name_cursor cursors אא
e_too_many e_name exceptionאא
p_empno p_name אאא
substitute variables
g_sal g_name globalאאא
Wאאאאאאאאא K٣
Kאאאאאא
BEGIN BEGIN
IF x=0 THEN IF x=0 THEN y:=1; ELSE y:=2; END IF;
y:=1; END;
ELSE
y:=2;
END IF;
END;
- ٦٥ -
אא אא א
אא ١٦٢
J ١
DECLARE
v_weight number(3):=600;
v_message VARCHAR2(255):='Product 10012';
BEGIN
/* SUB BLOCK אא* א/
DECLARE
v_weight number(3):=1;
v_message VARCHAR2(255):='Product 11001';
v_new_loc VARCHAR2(50):= 'Europe ';
BEGIN
v_weight := v_weight +1;
v_new_loc:= 'Western '|| v_new_loc;
END;
v_weight := v_weight +1;
v_message := v_message || 'is in Stock ';
v_new_loc:= 'Western '|| v_new_loc;
END ;
Wאאאאאאאא
KESub Block Fאאאv_weight J
KESub Block Fאאאv_new_loc J
KEmain Block Fאאv_weight J
KEmain Block Fאאv_message J
KEmain Block Fאאv_new_locJ
א EBlockF J ٢
א ،א א א א א
Kאא
- ٦٦ -
אא אא א
אא ١٦٢
G_RESULT
-----------------------
4.5
א אא א EBlockF J ٣
א אא אא K א
KאKאאא
W
KE 0.15١٥אאFא J
KENVLאFאאא J
G_TOTAL
----------
55000
- ٦٧ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
Oracle א
Oracleא
٨
אא אא א
Oracleא ١٦٢
Wאא
KEBlockFאאOracle אא
Wאא
EBlockFאאאא
EBlockFאאאא
Transactionsאא
SQL CursorSQLאאא
Wאאא
K٪١٠٠Oracleאא
Wאא
Wאא
-
H -
Wאא
Kאאאאאאא
- ٦٨ -
אא אא א
Oracleא ١٦٢
PL/SQL SQLאא אאא
ETransactionF PL/SQL א
،Block א א COMMIT, SAVEPOINT, ROLLBACK אא
CREATE TABLE, Blockאאאא DDL
KGRANT, REVOKE DCLALTER TABLE
Select Statement א
SELECT select_list
{variable_name[, variable_name]... INTO
| record_name}
table FROM
condition; WHERE
אאאא select_list
אאאא
record_nameVariablesSelect_ListK INTO
אאאאEאאFא variable_name
select_listאא אא
אאאאאא record_name
אא table
אאFא condition
Exception א
- ٦٩ -
אא אא א
Oracleא ١٦٢
W
DECLARE
v_deptno NUMBER(2);
v_loc VARCHAR2(15);
BEGIN
END;
א'SALES'א אאאאא
Kאv_locv_deptnoאא
Wאאאא
KE;Fא J
KINTOא J
אאאאאאא J
Kאאא
K%TYPE אאאאאא J
v_deptno dept.deptno%TPYPE;
v_loc dept.loc%TPYPE;
KאאWHERE J
DECLARE
v_sum_sal emp.sal%TYPE;
v_deptno NUMBER NOT NULL := 10;
BEGIN
SELECT SUM(sal) -- group function
INTO v_sum_sal
FROM emp
WHERE deptno = v_deptno;
END;
Control TransactionאDMLאא
Data ManipulationDMLאאאא
W
KאWINSERTא E١
BEGIN
INSERT INTO emp(empno, ename, job, deptno)
VALUES (empno_sequence.NEXTVAL, 'HARDING', 'CLERK', 10);
END;
KאאאWUPDATEא E٢
אאאWHERE
K א
:=אאZאאא J
DECLARE
v_sal_increase emp.sal%TYPE := 2000;
BEGIN
UPDATE emp
SET sal = sal + v_sal_increase
WHERE job = 'ANALYST';
END;
- ٧١ -
אא אא א
Oracleא ١٦٢
KאWDELETEא E٣
K א
DECLARE
v_deptno emp.deptno%TYPE := 10;
BEGIN
DELETE FROM emp
WHERE deptno = v_deptno;
END;
אאאא אאW
א אא K א א WHERE א
אאordאordidאאא ordid
אא،אאאא
WHERE ordid = ordid ;
אא 601א ordidא
אאאאא ordid
Kאאא
DECLARE
orderdate ord.orderdate%TYPE;
shipdate ord.shipdate%TYPE;
ordid ord.ordid%TYPE := 601;
BEGIN
SELECT orderdate, shipdate
INTO orderdate, shipdate
FROM ord
WHERE ordid = ordid;
END;
SQL> /
DECLARE
*
ERROR at line 1:
ORA-01422: exact fetch returns more than requested
number of rows
ORA-06512: at line 6
- ٧٢ -
אא אא א
Oracleא ١٦٢
WControl Transactionא
אE،،FאWTransaction
אאKא Transactionא
Wא
KאאאאאCOMMITJ
KאאאאאאאROLLBACKJ
אאאאאאSAVEPOINT J
Kאא
COMMIT [WORK];
SAVEPOINT savepoint_name;
ROLLBACK [WORK];
ROLLBACK [WORK] TO [SAVEPOINT] savepoint_name;
- ٧٣ -
אא אא א
Oracleא ١٦٢
SQL CURSORS K א א ETRUEF SQL%ISOPEN J ٤
אאאא FALSEאאאא
Kא
1 SQL> VARIABLE rows_deleted VARCHAR2(30)
2 DECLARE
3 v_ordid NUMBER := 605;
4 BEGIN
5 DELETE FROM item
6 WHERE ordid = v_ordid;
7 :rows_deleted := (SQL%ROWCOUNT ||' rows deleted.');
8 END;
9 /
10 SQL >PRINT rows_deleted
SQL*Plus rows_deleted א א א
605orderitemאאEBlockF
א אא SQL%ROWCOUNTאא ٧א
Krows_deletedא ' rows deleted.' ||אא،
KSQL*Plusא
- ٧٤ -
אא אא א
Oracleא ١٦٢
WEBlockFאJ ١
KDEPT אJ
KSQL*PlusאJ
KאאJ
Kp8q1.sql אJ
G_MAX_DEPTNO
------------
40
א DEPT אאא א J ٢
Wא . p8q2.sql
Kאאא١٠אאJ
KאאSQL*PlusSubstitution Variable אJ
K location NULLJ
KEBlockFאJ
Please enter the department name: EDUCATION
- ٧٥ -
אא אא א
Oracleא ١٦٢
KאאJ
DEPTNO DNAME LOC
---------- -------------- -------------
50 EDUCATION HOUSTON
G_RESULT
--------------------------------------------------------------------------------
1 row(s) deleted.
؟אJ
Please enter the department number: 99
PL/SQL procedure successfully completed.
G_RESULT
--------------------------------------------------------------------------------
0 row(s) deleted.
. אאJ
- ٧٦ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
א
א
٩
אא אא א
א ١٦٢
Wאא
Kאאאאאאא
Wאא
Kאאאא
Kאאא
Kאאאא
Kאאא
Kאאאאא
Wאאא
K٪١٠٠אאא
Wאא
٣
Wאא
-
H -
Wאא
Kאאאאאא
- ٧٧ -
אא אא א
א ١٦٢
W
א א א א EBlockF א
אאאא
٪٨אא ٣٠٠٠ א ٪١٠אא
Kאאא K٣٠٠٠אא
Kאאאא
KIF Statement אא
א אא א א א IF
Kא
IF condition THEN
statements;
END IF;
- ٧٨ -
אא אא א
א ١٦٢
IF CONDITION1 THEN
Statement1;
ELSE
Statement2.
END IF;
IF v_deptno = 10 THEN
UPDATE emp
SET sal = sal * 1.10
WHERE deptno = v_deptno;
ELSE
UPDATE emp
SET sal = sal * 1.08
WHERE deptno = v_deptno;
END IF;
IF CONDITION2 THEN
Statement2;
END IF;
END IF;
IF v_deptno = 10 THEN
UPDATE emp
SET sal = sal * 1.10
WHERE deptno = v_deptno;
ELSE
IF v_job = ‘SALESMAN’ THEN
UPDATE emp
SET sal = sal * 1.11
WHERE job = v_job;
END IF;
אא١٠אאאאאא
אאאאEאFאא،٪١٠א
K٪٨אאאאSALESMAN
WIFTHEN ELSIF א
אאאאא IF THEN ELSIF
(ELSIF) א א IF א א
אאאאאא
IF IF IF
KESLEא
- ٨٠ -
אא אא א
א ١٦٢
IF CONDITION1 THEN
Statement1;
ELSIF CONDITION2 THEN
Statement2;
ELSIF CONDITION3 THEN
Statement3;
.
.
.
ELSE
StatementN;
END IF;
IF v_grade >100 OR v_grade < 0 THEN
DBMS_OUTPUT.PUT_LINE(‘Invalid Grade ’);
ELSEF v_grade >= 90 THEN
DBMS_OUTPUT.PUT_LINE(‘A’);
ELSIF v_grade >= 80 THEN
DBMS_OUTPUT.PUT_LINE(‘B’);
DBMS_OUTPUT.PUT_LINE(‘D’);
ELSE
DBMS_OUTPUT.PUT_LINE(‘F’);
END IF;
٠אאv_gradeאאאאא
אK١٠٠٠אא١٠٠
Wאאאאא ١٠٠٠א
א א
A ١٠٠٩٠
B ٨٩٨٠
C ٧٩٧٠
D ٦٩٦٠
F ٥٩J ٠
Wאאאא
אאא IF
אאIF
Wא
IS NULL אNULL אאאאאJ
IF v_name IS NULL THEN
…
….
END IF
KNULL אNULL J
v_sal := 3000;
v_comm ;v_ annual_salary := 12 * v_sal +
v_ אNULL אא v_commא
KNULLannual_salary
KאNULL NULL אJ
…
v_job := NULL;
- ٨٢ -
אא אא א
א ١٦٢
v_name:=’AHMED’;
v_info:= v_name || ‘ is ‘ || v_job ;
….
v_jobAHMED is v_infoאאא
K
AND ,OR , NOT אאאJ
NOT
TRUE FLASE
FLASE TRUE
NULL TRUE
- ٨٣ -
אא אא א
א ١٦٢
; v_reorder_flag ANDv_reorder_flag v_flag :=
Wאאv_flag
v_reorder_flag v_reorder_flag v_flag
TRUE TRUE TRUE
TRUE FALSE FALSE
NULL TRUE NULL
NULL FALSE FALSE
KLoops אא
א אא אא PL /SQL
א א אאא،א
WאPL /SQLKאא
KBasic Loopאאא J
KFORאא J
KWHILE אא J
KNested LOOPS אאאא J
:Basic Loop אאא
، End Loopאא Loop אאאא
EאאFאאאאאא א
אא א Eא אא F אא
אאאא אאאא Exit
K End Loopאא
- ٨٤ -
אא אא א
א ١٦٢
LOOP Æ אאא
אא
statement1; Æ
...
Fא
EXIT [WHEN Æ
Eאא
condition];
אא
Æ
END LOOP;
DECLARE
BEGIN
LOOP
END LOOP;
END;
- ٨٥ -
אא אא א
א ١٦٢
J
DECLARE
v_counter NUMBER :=0;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('v_counter = '||v_counter);
EXIT WHEN v_counter > 5;
v_counter:=v_counter-1;
END LOOP;
END ;
J
DECLARE
v_counter NUMBER :=10;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('v_counter = '||v_counter);
EXIT WHEN v_counter > 5;
v_counter:=v_counter+1;
- ٨٦ -
אא אא א
א ١٦٢
END LOOP; Æ
END LOOP;
END ;
א٧ J
אא J
א١ J
אאEFאאאאWא
؟Loop
J
J
J
: FOR אא
אאאאא א FORאא
KKKK،١٥،א١٠א
- ٨٧ -
אא אא א
א ١٦٢
BEGIN
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('i= '||i);
END LOOP;
END;
SQL> /
i= 1
i= 2
i= 3
i= 4
i= 5
- ٨٨ -
אא אא א
א ١٦٢
WאאאBlock א
DECLARE
v_lower number:=1;
v_upper number:=5;
BEGIN
FOR i IN v_lower.. v_upper LOOP
DBMS_OUTPUT.PUT_LINE('i= '||i);
END LOOP;
END;
SQL> /
i= 1
i= 2
i= 3
i= 4
i= 5
: WHILE אא
אא א א א א WHILE אא
Kאאאאא،
WHILE (condition) Æ אאא
אא
statement1; Æ
... אא
END LOOP; Æ
J
DECLARE
v_counter NUMBER :=0;
BEGIN
WHILE (v_counter <= 5) LOOP
DBMS_OUTPUT.PUT_LINE('v_counter = '||v_counter);
v_counter:=v_counter+1;
END LOOP;
END ;
- ٨٩ -
אא אא א
א ١٦٢
אאאאאאאwhile אא
KאאKאאא
DECLARE
v_counter NUMBER :=0;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('v_counter = '||v_counter);
EXIT WHEN v_counter > 5;
v_counter:=v_counter+1;
END LOOP;
END ;
WHILEאאאאאWא
אאאאאאW
item
ACCEPT p_new_order PROMPT 'Enter the order number: '
ACCEPT p_items -
PROMPT 'Enter the number of items in this order: '
DECLARE
NUMBER(2) := 1; v_count
BEGIN
WHILE v_count <= &p_items LOOP
INSERT INTO item (ordid, itemid)
VALUES (&p_new_order, v_count);
v_count := v_count + 1;
END LOOP;
COMMIT;
END;
- ٩٠ -
אא אא א
א ١٦٢
- ٩١ -
אא אא א
א ١٦٢
WאאאאJ ١
CREATE TABLE messages
VARCHAR2(60)) (results
KEFORאאאFK٨،٦אא١٠KKK١אJ
KEBlockFאאאאJ
KmessagesאJ
RESULTS
----------
1
2
3
4
5
7
9
10
WNULLsalary אא،empאאJ ٢
insert into emp
values (8000, 'DOE', 'CLERK', 7698, SYSDATE, NULL,
NULL, 10);
- ٩٢ -
אא אא א
א ١٦٢
א אא
٪١٠ ١٠٠٠
٪١٥ ١٥٠٠J ١٠٠٠
٪٢٠ ١٥٠٠א
NULL
Kאempא J
אmessage E‘The number is odd’Fp6q4.sqlאJ ٣
KאאאE‘The number is even’F א
KempSTARS K١
אא١٠٠STARSא* E PL/SQL BlockF K٢
אKE**********STARS١٠٠٠אאאF
Kp9q3.sql
Ksubstitution variable אאאJ
Kא J
- ٩٣ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
١٠
אא אא א
אא ١٦٢
Wאא
Kאאאאאא
Wאא
Kאא
Kאאאא
Kאאא
Wאאא
K٪١٠٠אאאאאא
Wאא
3
Wאא
K -
KH -
Wאא
Kאאאאאאא
- ٩٤ -
אא אא א
אא ١٦٢
W
א
Block אאא
אאא א
אKאא
א،אאאא
אאK א אאKEErrorOracleF
אא א،אא
K EBlockFא
Wאאא
Kאאא
Wאא
: Predefined Oracle Server errors א אJ ١
אKאאאא ٢٠
Oracle FOracle ERAISEF
KEServer
אWHENאK
Kאאאאא
EXCEPTION
WHEN exception1 [OR exception2 . . .] THEN
statement1;
statement2;
...
[WHEN exception3 [OR exception4 . . .] THEN
statement1;
statement2;
. . .]
[WHEN OTHERS THEN
statement1;
statement2;
. . .]
Kאאא
אאאאאא
אאאאאK א
KEBlockF
oracle אאא א
אK
אאKEOracle Server F
אאאאEBlockFאאא
KאאאאאK
- ٩٦ -
אא אא א
אא ١٦٢
א א
ACCESS_INTO_NULL
initialization
nested collection method COLLECTION_IS_NULL
Kinitialization varraytables
א CURSOR_ALREADY_OPEN
DUP_VAL_ON_INDEX
INVALID_CURSOR
אאאא LOGIN_DENIED
.Select א NO_DATA_FOUND
אא NOT_LOGGED_ON
א PROGRAM_ERROR
אאא ROWTYPE_MISMATCH
PL/SQL
אאאא STORAGE_ERROR
collection method א SUBSCRIPT_BEYOND_COUNT
אvarraytables nested
Kא
אאאא TIMEOUR_RESOURCE
Select א TOO_MANY_ROWS
VALUE_ERROR
א
א ZERO_DEVIDE
- ٩٧ -
אא אא א
אא ١٦٢
DECLARE
V_ename emp.ename%Type;
V_empno emp.empno%Type := &p_eno;
Begin
SELECT ename INTO
v_ename
From emp
WHERE empno = v_empno;
DBMS_OUTPUT.PUT_LINE ('Employee Name is ' || v_ename );
EXCEPTION
אא٧٧٧٧،٧٧٨٨אאא
K٧٧٧٧א
Enter value for p_eno: 7788
SQL> /
Enter value for p_eno: 7777
- ٩٨ -
אא אא א
אא ١٦٢
DECLARE
V_ename emp.ename%Type;
V_job emp.job%Type := upper( '&p_ejob');
Begin
SELECT ename INTO
v_ename
From emp
WHERE job= v_job;
DBMS_OUTPUT.PUT_LINE ('Employee Name is ' || v_ename );
EXCEPTION
END;
DRIVER ،MANAGER،PRESIDENTאאא
MANAGERאאאא
KDRIVER
SQL> /
- ٩٩ -
אא אא א
אא ١٦٢
SQL> /
Enter value for p_ejob: DRIVER
Wאאאא
:EBlockFאאא K١
DECLARE
…..
Exception_name EXCEPTION;
- ١٠٠ -
אא אא א
אא ١٦٢
אPRAGMA_EXCEPTION_INITאאא K٢
אא אא
Kאא
PRAGMA_EXCEPTION_INIT(Exception_name ,error_number);
WEBlockFאאאא K٣
אWHENאאאJ
Kא
KאאאJ
W
DECLARE
EXCEPTION; e_emps_remaining Æ
א
אJ ٢٢٩٢אe_emps_remainingאאא
אאאא
Kא،
- ١٠١ -
אא אא א
אא ١٦٢
Wאאאא
אאאאאאא
אEBlockFאא
KאאאאKא
Wאאאא
:EBlockFאאא J ١
DECLARE
…..
Exception_name EXCEPTION;
EBlockFאאאא J ٢
KאRAISE אא
Begin
….
RAISE Exception_name ;
….
WKEBlockFאאאא J ٣
WHENאאאא
Kאא
،אאאאא W
א e_invalid_productאEאFא
KאאאאK
- ١٠٢ -
אא אא א
אא ١٦٢
DECLARE
EXCEPTION;e_invalid_product Æ א
BEGIN
product UPDATE
descrip = '&product_description' SET
prodid = &product_number; WHERE
IF SQL%NOTFOUND THEN
א
RAISE e_invalid_product; Æ
א
END IF;
COMMIT;
EXCEPTION
WHEN e_invalid_product THEN
DBMS_OUTPUT.PUT_LINE('Invalid product Æ
א
number.');
END;
- ١٠٣ -
אא אא א
אא ١٦٢
؟אא
אאאא אאא
אאאאאאKאא
KאKKKKאא
DECLARE
...
EXCEPTION; e_no_rows
EXCEPTION; e_integrity
PRAGMA EXCEPTION_INIT (e_integrity, -2292);
BEGIN
FOR c_record IN emp_cursor LOOP
BEGIN
אאאא
SELECT ...
UPDATE ... אSub Block
IF SQL%NOTFOUND THEN אאאא
RAISE e_no_rows;
END IF; א א
EXCEPTION Main Blockאא
WHEN e_integrity THEN ... א
WHEN e_no_rows THEN ...
END; אא
Main Block
- ١٠٤ -
אא אא א
אא ١٦٢
WRAISE_APPLICATION_ERROR אאאא
אאאאא
Procedures, FאאאאאאאKא
KEFunctions
RAISE_APPLICATION_ERROR(error_number,message,[TRUE,FLASE]);
אKאא error_number
J ٢٠٩٩٩J ٢٠٠٠٠א
א message
Stack.אאאאTRUEKא [TRUE,FLASE]
KאאאFLASE
EDefualtFאא
אאRAISE_APPLICATION_ERRORאא
Kאא
…
BEGIN
….
…
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20010,’invlid employee number’);
…..
END;
- ١٠٥ -
אא אא א
אא ١٦٢
KEאאFאאאאE PL/SQL BlockF J ١
אאאאאא J
Kmessage More than one employee with a salary<salary>
אאאאאא J
Kmessage No employee with a salary<salary>
אאאאא א אא J
Kmessage
Kאא J
RESULTS
------------------------------------------------------------
SMITH – 800
More than one employee with a salary of 3000
No employee with a salary of 6000
אאאאp8q3.sqlא J ٢
Kdept
Kא
Please enter the department number: 50
Please enter the department location: HOUSTON
G_MESSAGE
--------------------------------------------------------------------------------
Department 50 is an invalid department
אאאE PL/SQL BlockF J ٣
K١٠٠אאאא
Kאאאאאא J
Kאאאאא J
אאאאא J
K(Some other error occurred )
- ١٠٦ -
אא אא א
אא ١٦٢
Please enter the salary: 800
PL/SQL procedure successfully completed.
G_MESSAGE
--------------------------------------------------------------------------------
There is/are 1 employee(s) with a salary between 700 and 900
G_MESSAGE
--------------------------------------------------------------------------------
There is/are 3 employee(s) with a salary between 2900 and 3100
G_MESSAGE
--------------------------------------------------------------------------------
There is no employee salary between 5900 and 6100
- ١٠٧ -
אא א
١٦٢
- ١٠٨ -
אא א
١٦٢
PRODID DESCRIP
---------- ------------------------------
100860 ACE TENNIS RACKET I
100861 ACE TENNIS RACKET II
100870 ACE TENNIS BALLS-3 PACK
100871 ACE TENNIS BALLS-6 PACK
100890 ACE TENNIS NET
101860 SP TENNIS RACKET
101863 SP JUNIOR RACKET
102130 RH: "GUIDE TO TENNIS"
200376 SB ENERGY BAR-6 PACK
200380 SB VITA SNACK-6 PACK
- ١١٢ -
אא א
١٦٢
CUSTID COMMENTS
-------- ----------------------------------------------------------------------------
100 Very friendly people to work with -- sales rep likes to be called Mike.
101 Rep called 5/8 about change in order - contact shipping.
102 Company doing heavy promotion beginning 10/89. Prepare for large orders during
103 Contact rep about new line of tennis rackets.
104 Customer with high market share (23%) due to aggressive advertising.
105 Tends to order large amounts of merchandise at once. Accounting is considering
106 Support intensive. Orders small amounts (< 800) of merchandise at a time.
107 First sporting goods store geared exclusively towards women. Unusual
Promotional style and very willing to take chances towards new products!
108
- ١١٣ -
אא א
א
١٦٢
א
א א
Wאא
١ Kאא
Wאא
٨ Kאאא
Wאא
١٥ Kאא
Wאאא
٢٦ Kא א
Wאא
٣٧ Kאא
Wאא
٤٦ Kאא
Wאא
٥٩ Kאא
Wאא
٦٨ KOracle א
Wאא
٧٧ Kא
Wאא
٩٤ Kאא
١٠٨ א
אאאאא א
אEאFאא
GOTEVOT appreciates the financial support provided by BAE SYSTEMS