oracle

34
م ي ح ر ل ا ن م ح ر ل له ا ل م اس ب ل ك ورا ا ن ع ومات ل ع م ل ي$ ز$ ن ت د$ ن عOracle DB & Developer م له ه ي$ ف ل واحد ك ون ك ي ان ب ج ي$ هار ج ل س ا$ ف$ ن ي علHome ط ال ب$ ض م ي ي ل و ص$ ف$ ن مTNS ل ك لHome ي عل. حدي د ال عد ه$ رف مع لHOMES -: W ك$ هار ج ي$ ف ودة ج و م ل اREGEDITHKEY_LOCAL_MACHAINE SOFTWAREORACLEALL_HOMES. ود ج عدم و حاله ي$ ف وALL_HOMES ي عل ل ك ورا ل ا ك ون ك يHOME ل . ك ورا ا ي$ ف ل$ ص$ ف ن لا ا$ واحد وهد -: ن م ه ت ل ا$ رc ا d ب ج ي$ هار ج ي ي ا عل ن م ل ك ورا ا اله$ رc لا1. Regedit HKEY_LOCAL_MACHAINE SOFTWAREORACLE. 2. Regedit HKEY_LOCAL_MACHAINESYSTEMSERVICE ORACLE. 3. DELETE FROM PROGRAM MENUE. 4. DELETE ORACLE FOLDER FROM PROGRAM FILE. 5. REMOVE ORACLE FROM PATH INVIROMENT VARIABLEPATH. ي ال عل ل$ ح د ي ت ل حاو ا$ ادSQL Pulse 8 م ت ه$ ات$ ف ل$ خ ل ا ي$ ف ي ط ع ن عد ما ن ول$ ج الد$ ض$ ف ور رساله ر هq ظ ي مt ت صال يc لا اDon’t Send . ري$ خ ا زة م له$ ز$ ن ت س و ل ي و ال ي ك ل اس نt ش ب ل م ع ردت ا ا$ دc اCompile وعه م ج م لForms ل م ع ن$ ض ع ن ع مPatch File ي ما عل وي ي ج ي-: ي ل يIfcmp60 module=FormName.frm USERID=UserName/Password BATCH=YES MODULE_TYPE=Form Upgrade=Yes BUILD=yes Compile_all=yes

Upload: marwanragab-ragab

Post on 02-Jul-2015

530 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Oracle

الرحيم الرحمن الله بسمأوراكل معلوماتعن

تنزيل عند Oracle DB & Developer

له فيهم واحد كل يكون ان يجب نفسالجهاز ويتم Homeعلي منفصلالـ علىحدي . Homeلكل TNSضبط

الـ عدد فيجهازك :-HOMESلمعرفة الموجودةREGEDITHKEY_LOCAL_MACHAINE SOFTWAREORACLEALL_HOMES.

وجود عدم حالة على ALL_HOMESوفي أوراكل كل واحد HOMEيكونأوراكل . في يفضل ال وهذا

-: من إزالته يجب جهاز أي على من أوراكل إلزالة1. Regedit HKEY_LOCAL_MACHAINE

SOFTWAREORACLE.2. Regedit

HKEY_LOCAL_MACHAINESYSTEMSERVICE ORACLE.

3. DELETE FROM PROGRAM MENUE.4. DELETE ORACLE FOLDER FROM PROGRAM FILE.5. REMOVE ORACLE FROM PATH INVIROMENT

VARIABLEPATH. الـ على تدخل حاولت يعطي SQL Pulse 8اذا ما بعد ورفضالدخول

رسالة يظهر ثم اإلتصال تم انه الخلف اسكيو Don’t Sendفي تشيلاخري . مرة بلسوتنزله ال

أردتعمل بعضتعمل Formsلمجموعة Compileإذا Patch Fileمعما على يلي :- يحتوي

Ifcmp60 module=FormName.frm USERID=UserName/Password BATCH=YES MODULE_TYPE=Form Upgrade=Yes BUILD=yes Compile_all=yes

ملف يمثل السابق إضافة Formالسطر أردت وإذا واحدة لشاشة واحدوهكذا . الجديدة الشاشة باسم آخر تضيفسطر أخرى شاشة

غير كان إذا الـ Menuيعني Formتراعي تكتبفي Qمثًال MODULE_TYPE=menu .

واحد . فيسطر كله يكون ان تراعيالـ الـ Pathتراعي خاص Ifcmp60وهو Compileالخاصبملفتشغيل هذا

.Ifcmp90فهو 9iأما 6iبـ الـ من تشغيله ملف Formوكل Dos Modeيتم لها FormName.Errيخرج

لكل األخطاء قائمة هناك Formفيه كان يكون Formوإذا أخطاء بهاالملف عمل Occurredكلمة بداخل يتم ال أيضا .Fmxو لها

الـ تعرف تم Formsعشان أخطاء Compileالتي بدون الـ لها انتهاء بعدCompile لها خطأ .Fmxيظهر فيه يكون والباقي

Page 2: Oracle

لعملCompile ملففيه تعمل تقارير لعدة واألخر Parameterمجمعكالتالي :- الملفات وتشغل فيه البارمتر تباصي

البارمتر :- :ParamterFileName.Sis ملف

-

Userid=UserName/PasswordStype=rdffile ==> Source FileDtype=repfile ==> Distention File Logfile = LogFileName.Log ==>Error FileOverwrite=yesBatch=yesSource=(RepName1 , RepName2, RepName3)

امتداد . أي و اسم الملفأي اسميلي :- كما باتشللتشغيل ملف مع ربطه يتم

Rwcon60 cmdfile= ParamterFileName.sis

Rwcon60 الـ .Compileلتشغيل الخاصبالتقارير Cmdfile. األمر منه سيأخذ الذي الملف ألسم إشارة

ParamterFileName.sis. البارمتر ملف اسمالـ للملفات .Pathتراعي

هو فيملفواحد ستظهر التقارير لكل األخطاء LogFileName.Logكل

تحميل أن Oracle Databaseبعد رسالة يعطي أو معاك يفتح ولمOracle Shut Down رسالة تشغلمن Oracle Not Availableأو أن يمكن

الدوسمود Lsnrctl start

تشغل أوSvrmgrlconnect internal

ثمStartupopen

الـForm Builder-: a. يشغله الذي . FMBوينشيملف F50des32.exeالملفb. الـ يشغل الذي هو Compilerالملف

F50gen32.exe . الـ .FMXإليملف FMBويحولc.FMB لـ .Form Module Binaryاختصارd.FMX لـ .Form Module Executableاختصارe. الـ . F50run32.exeهو FMXملفتشغيلf.-: يلي كما بأوراكل الخاصة باإلمتدادات قائمة

لها الًالحقةModuleالوحدة الوصفالـ Form.FMBنموذج .Formملفتصميم

Page 3: Oracle

.FMX

.FMTالـ تنفيذ . Formملف

للـ النصي التصدير .FormملفMenu.MMBقائمة

.MMX

.MMT

الـ . Menuملفتصميمالـ تنفيذ . Menuملف

للـ النصي التصدير . MenuملفPL/SQL.PLLمكتبة

.PLX

.PLD

مكتبة يمكن PL/SQLملفتصميم كما. Q أيضا تنفيذه

مكتبة تنفيذ .PL/SQLملفلمكتبة النصي التصدير .PL/SQLملف

العناصر ObjectمكتبةLibrary

.OLB

.OLTالعناصر . مكتبة ملفتصميم

العناصر . لمكتبة النصي التصدير ملف

رسائل في مضبوط غير بشكل بيطلع العربي ان حالة فيأوراكل :-

Regedit Local Machine\Software\Oracle\NLS_LANG Open This File And Write :- Arabic_Amrica.Ar8mswin1256,,,Chang All NLS_LANG File In Regedit .

-: يلي كما الدوسمود على مؤقتمن بشكل تحويله ويمكنSet NLS_Lang=Amrica_Amrica.AR8mswin1256.

وضع دون مباشرة تعمل برنامجك ملفات عند Pathلجعل لهاكتابة بدون واأليقونات الصور وتشغيل Path -: Qالتشغيل أيضا

Regedit FORMS60_Path Open This File And Write :- c:\ ِApp.Path; RegeditCreate New File Called UI_ICON Open This File And Write c:\App.Path;

: ( بيانات ( + هيكل البيانات لقاعدة استيراد -لعملimp User_name/Password File=path_Name\File_Name.DMP FromUser=OldPassword Touser=NewPassword .

لعملScript File-: DBA Studio Schema Tables R.Clik Show Object DDL.

-: البيانات لقاعدة تصدير لعملEXP System/Manager File=Data_Path\Export_File_Name.DMP Owner =User_Name Log =Data_Path\Lgo_File_Name.log

ال على موجود هو ما :-SQL Plusـ لحفظSave filename.sql

الملفوتشغيله الستدعاء-: Ed filename.sql

ملف إنشاءه :- SQL لتشغيل تم@FileName.sql

خطأ إذا رسالة لك الداتا Duplication معناهاOra 00001 ظهرت علىوأيضا :-

When No_Data_Found ===> 1403When Too_Meny_Rows ====> 1422When Deplication_Value_Index

Page 4: Oracle

When OverFlow ==> 6502When Others Massege (SQLErr)

حقول من الجدول :- لعرضمحتوياتDesc TableName

من لع نسخة معين مل بياناتجدول :- هيكلCREATE table dept_backup1 as select * from dept where 1=2;

عملل Copy مكتوب :-SQL Plus ـ الداخل منسطرR Click + L Click

محتويات ال لمسح . SQL Plus Shift + Delشاشة

أن أردت ال أيتضيف إذا في تضيفه Regedit ـشئ ألوراكل بالنسبةالهوم الخاصبه في

Home0.

أضف String Value فيه جديد الملف dd-mm-yyyy اكتب وسميnls_date_format. التاريخ لضبط

أضف String Value فيه باكت HH24:Mi:ss الملف وسميNls_time_format. الوقت لضبط

اليوزر أسماء الستعراض على الموجودة :- الخاصبك الجداولSelect * from Tab;

ال الملف من التقارير تشغل ال Source ـ األفضل الملف عشان ـبتاعهاComplied بيضربمن إعادة . ألخرإصدار الخاصبها إلي يحتاج كما

على يقوم انه حالة في الـ Libraryترجمة في غيرت .Libraryوانك

لفتح Easy Config بالمرة يفتح ال انه حالة علىملفاسمه في دورsymcjit.Dll إلي .symcjit.old وغيره

Page 5: Oracle

SQL And Database AdministrationOracle Objects: -1. Database.2. Table Space.3. Users.4. Tables.5. Indexes.6. Views.7. Sequences.8. Synonyms: -

الـ Trustسينمنسوهيعًالقة نفسالـ Userبين .DBفي

9. Database Link.10. Pl/SQL

10.1. Triggers.10.2. Stored Functions.10.3. Stored Procedure.10.4. Packages.

Table Space: -من وتحتوي Logical Storageتخزين وحدة هو اكثر Dataعلي

File تخزين وهي :- Storage Fiscal وحدةTable Space: - Data File1 Data File2

جدول المنشأة والملفات داخل يكون وكلشئ ينكلهاهما :-

DBA_Datafiles, DBA_Tablesapceoوإلنشاء Table Space جديد-:

CREATE TABLESPACE MYTABLESPACE DATAFILE 'C:\TRAN\MYDATAFILE.DBF' SIZE 100 M

oحجم ولتعديلTable Space موجود-: Syntax: -

ALTER DATABASE

Page 6: Oracle

DATAFILE 'Table Space Path\Table Space FileName.ORA' RESIZE New Size M;

Example :- ALTER DATABASE DATAFILE 'C:\ORACLE\ORADATA\SISM\FIN.ORA' RESIZE 100M;

لعمل User -:

Syntax: - create user username identified by password default tablespace tablespacename temporary tablespace temp ;

Example: - create user Islam identified by islam default tablespace mytablespace temporary tablespace temp ;

تم الذي للمستخدم :- إنشاءهلعملصًالحياتGrant connect , resource to islam ;

اتصال :- لعملConnect islam/islam ; Or conn islam/islam ;

مستخدم الصًالحياتمن - :لسحبRevoke connect, resource from islam ;

-: مستخدم إللغاءDrop user User_Name cascade;

ومستخدم أي إللغاء Cascade وجملة هذا المستخدم في جدول بين ارتباطجداوله أنيستطيع حتى االرتباطيلغي أخر بجميع المستخدم .يلغي

DDL (Data Definition Language)البيانات تعريفهيكل لغةالبيانات هيكل مع تتعامل لغة إنشاء Structureوهي من

للجداول :- وإلغاء وتعديل Tables: -

للحقول المحددات :-Constraint Typeأنواع1. Unique: -

بإدخال يسمح وحيد أو بالتكرار . Nullمميز يسمح وال2. Primary Key P_K: -

بالـ يسمح بالتكرار .Nullال وال3. Foreign Key F_K: -

مع .Master & Detailsوتعمل4. Not Null: -

.( فارغ ( بتركه يسمح ال بيانات إدخال من البد5. Check: -من يكون أن يجب الداخل البيان Qمثًال وكذا كذا بين 20 : 10محدد

. خطأ رسالة يصدر ذلك غير

Page 7: Oracle

البيانات :-Data TypesأنواعVarchar2 NumberLong ==> أخري 2مساحته بيانات قاعدة أي يفهمه وال بايت جيجاDateNvarchar2 ==> National.

جدول :-Create لعملSyntax:-

Create table TableName(Col1 Data Type1, Col2 Data Type2, Col3 Data Type3,Constraint

Example: -

األصناف .1 جدولCreate table inv_items(inv_item varchar2(4),descr varchar2(40),constraint inv_item_PK primary key(inv_item));

الماستر .2 الفواتير :-جدول

Create table invoices(invoice_no number(10),invoice_date date,invoice_amt number(12,3),invoice_status varchar2(1),personal_name varchar2(40),Constraint invoices_pk primary key(invoice_no),Constraint invoice_chk check(invoice_status in (1,2,3,4)));

الفاتورة .3 تفاصيل :-جدول

Create table invoice_details(serial_no number(10),invoice_no number(10),inv_item varchar2(4),inv_amt number(12,3),inv_disc number(12,3),Constraint invoice_details_PK primary key(serial_no),Constraint invoice_details_FK1 foreign key (invoice_no) references invoices (invoice_no),Constraint invoice_details_FK2 foreign key (inv_item) references inv_items(inv_item));

هيكل ل لتعديل :-Alter جدولفي

Syntax:-

Page 8: Oracle

Alter table TableName AlterTypes();Example: -

Alter table invoices add(invoice_disc number(12,3));

:- موجود constraint إلغاء.1Syntax:-

Alter table invoices drop constraint invoice_chk1 حقل إ.2 :- ضافة

Syntax:- Alter table invoices add (ff number (12,3));

:- حقل إلغاء.3Syntax:-

Alter table invoices drop column ff;

حج .4 موجود :-حقل متعديلSyntax:-

Alter table invoices modify(FieldName number(10,3));Example: -

Alter table invoices modify(invoice_disc number(10,3));

قبل :-.5 من إنشاءه تم جدول إلغاءDrop Table

فهرس .6 :- عملSyntax:- Create unique Index indexName on tableName(FieldName);Example: -

Create Index ind_inv on invoices(invoice_date) ;

بيانات .7 :-إلغاءTruncate :-

تراجع فيه يوجد ال انه عيوبه من ولكن جدول داخل البياناتمن بإلغاء يقومالبيانات . إلغاء عن

TCL (Transaction Control Command Language)العمليات في التحكم لغة

RollBack :-الـ . كيفيعمل به قمت الذي للحدث السابق البياناتفيوضعها اعادة وهو

RollBack ؟الملغاه البيانات من نسخه ياخذ اوراكل جدول داخل البياناتمن الغاء عند

في الـ Temporaryويضعها الـ Databaseداخل .Table Spaceداخل

Commit :-. به قمت الذي للحدث تأكيد وهو

DML (Data Manipulation Language)البيانات مع التعامل لغة

1- INSERT: -

Page 9: Oracle

Syntax1: - Insert Into TableName (col1,col2,col3,) Values (vlCol1, VlCol2, VlCol3);

علىطول القيم ترتيب حط الحقول ترتيب عارف كنت إذا Syntax2: - Insert into TableName1

(Col1,Col2,Col..)Select Col1,Col.. From TableName2;

Example: -Insert into dept (dept_no,dept_desc)

Values (&v1,'&v2');

مرة & من اكثر تدخل عشان بإدخال تستخدم كنتستقوم من إذا اكثرسجل

تعمل أولبعد مرة / سجل اإلدخاالت بعد أخرى يعيد من كتبت االنتهاءcommit نهائي لكي .يحفظبشكل

أن أردت بالبيانات تأخذ إذا الجدول من :-نسخةCreate table dept_backup as select * from dept

بدون ذخأي ولكن والبيانات للجدول يأخذ أي Constraint الهيكلبدون . Constraint من هوخًالف Key الجدول

-: موجود أخر إليجدول موجود جدول بياناتمن لنقلInsert into dept_backup

Select * from dept ;

-: جدول داخل من واحد بياناتحقل نقل أردت إذا Insert into dept_backup (dept_no)Select dept_no from dept;

2-DELETE: -Delete From dept_backup Where dept_no=3;Commit;

3- Update Syntax: -Update TableName set Col1=Value1Where Col1=Value2;

Example: -Update dept set dept_desc = 'Sales' Where Dept_no=1;

Page 10: Oracle

Commit;

4-QUERY (Data Query Language): - Syntax: -

Select * Or Col From TableName Where Condition Order By ;

Operators Types -: المدخًالت أنواع -:1-Arthimetic Operators ==> *,-,+,/2-concatonate ==> || 3-Set Operators ==> A-Union

متش والغير جدولين بين واحدة مرة المتشابهة مرة ايعرضجميع بهة واحدة

B-Intersect فقط المشترك يطلع

C-Minus تاني فيجدول موجود وغير فيجدول الموجود يطلع

4-Logical Operator: -

التنظي عرضجم أوي مالهيكل عند Select ةلالمستويات

Hierarchical Queries :-Select first_Name,Emp_id,salary from employee start with emp_id=1000 connect by prior emp_id=manager;

Alias: -

select F.N + X AliasName from TableName ;

Literal Character String :-Select F.N || 'String' || F.N AliasName from TableName ;

التكرار إلزالةSelect Distinct F.N From TableName;

Where Clause: -

Select F.N1,F.N2 From TableName Whwere Condition ;

Compression Operator: -1)=,>,<,<=,>=,<>,!=2) Between3) Like

Page 11: Oracle

4) Is null Or Is Not Null5) In ==> select * From TableName In (100,5000)

عيب 5000ورقم 1000يجبرقم فيه ولكن بطيئة أنهافقط

Logical Oprator :-And,Not,Or

Select * from Employee where emp_id=1000 and (dept_no=2 or dept_no=1)شرطمختلفعنه قبله بعضواللي قوسينشرطمع بين اللي

Not In Not Exist

Order By Clause: -ASC ==> للكبير الصغير منDesc ==> للصغير الكبير من

SQL Function Clause: -1) Single Row Functions: - A-character B-Number C-Date D-Conversion

A-character: -Select upper (f.n) AliasName from TableName ;

فقط لإلنجليزي كابتل حروف كله الناتجSelect Length (f.n) AliasName From TableName;

للحقل الناتج طولSelect Initcap(f.n) AliasName From TableName ;

للحقل أولتطلع كابتل حرفSelect substr(f.n,1,3) From TableName;

رقم بداية من الحقل من طلع Mid In VBمثل حروف 3أول 1معناهاSelect Instr(F.n,& VribleName) From TableName ;

Select Instr('Samer','e') From TableName ;

Select * from TableName where Upper(f.n) = & VirbleName;

Select * from TableName where Lower(f.n) = & VirbleName;

B-Number: -Select Round (f.n) AliasName from TableName ;

الناتج تقريبSelect Trunc(Date) From TableName ;

واخد لو يعني التاريخ من الزيادة الوقت Long Date يشيل يحذف ممكنالناتج Shprt Date ويطلع

Select Mod (F.n1/f.n2) From TableName ;فقط الكسر ناتج يطلع

Page 12: Oracle

C-DateSelect add_months (sysdate,2) from Dual ;

ولكنمشللتغيير للعرضفقط وذلك التاريخ على شهرين زود معناها

Select Next_day(Date) From TableName ;بعده اللي اليوم يجب

Select Last_day(Date) From TableName ;الحالي الشهر من األخير اليوم يطلع

Select Months_between(Date,date+1) from TableName;تاريخين بين الفرق يطلع

Select Months_between(&Vrible1,&Vrible2) from TableName;

Select Months_between(sysDate,sysdate+1) from Dual;

Select Months_between('1/2/2004','1/1/2004') from Dual;

General Functions: -

NVL ==> Null ValueSelect NVL (F.n,Value) From TableName Where Condition;

الحق بتاعة القيمة لو ان الي Null Value معناها القيمة حالة Value غير فيال بتاع الشرط Selectـتحقق

Decode:-Select Decode (f.n,Value,Imprative_Statament1,Imprative_Statament2)

معناهاif f.n=Value then Imprative_Statament1Else Imprative_Statament2)End if

D-Conversion: -

To_Char(Number) ==> Char (9,0,$)Select To_Char(Salary,'99,9999') Sal from employee ;ال <== 99,9999 Formatهيشكل

To_Char(Date)==>Char

Select To_Char(Date,'Format')Select To_Char(sysdate,'YYYYMM') From Dual;Select To_Char(Sysdate,'dd,Month,YYYY') From Dual ;

مثال كامل الشهر اسم معاك October لتظهرSelect To_Char(Sysdate,'dd,Mon,YYYY') From Dual ;

مثال كامل الشهر اسم معاك Oct لتظهر

Page 13: Oracle

Select To_Char(Sysdate,'day') From Dual ;اليوم معاك ليظهر

Select To_Char(Sysdate,'HH:Mi:ss') From Dual ;الوقت ليظهر

From Char ==> To DateSelect to_Date('31102004','dd-mm-yyyy') from dual

Display Data From Multiple Tables: - Join Tables: - 1) Equijoin

Select a.dept_no,Emp_id,Dept_Desc,Salary From Dept A,Employee B Where A.dept_no =B.Dept_no Order by A.DEpt_no;

بتعريف الموجودة Alias تقوم الجداول من جدول لكلA==> Alias For Dept TableB==> Alias For Employee Table

انفسلحقلفي يساوي األول الجدول في الحقل قيمة يكون ان هنا ويجبتاني جدول

2) Non-Equijoin Select a.dept_no,Emp_id,Dept_Desc,Salary From Dept A,Employee B Order by A.DEpt_no;

بعض مع متساوويم الحقلين يكون ان بدون هنا 3) Outer Join Select a.dept_no,Emp_id,Dept_Desc,Salary From Dept A,Employee B where A.dept_no =B.Dept_no(+) Order by A.DEpt_no

الجدول في مثله يوجد ال كان لو حتي األول الجدول مافي يعرضجميعالثاني

4) Self Join Select a.salary * 0.2 from employee a ,employee b where a.manager=b.emp_id;

اكثر للتوضيح حالة يجب مرتين نفسالجدول بين ربط تعمل هي

2) Multiple Row Functions (GROUP Functions): - 1-AvG 2-Sum 3-Count ==> مش واحد لحقل يكون ان * اسرع

على 3و2في تحتوي الداتا تكون اال الموضوع Null يجب تتحاشي ولكيNVl تحطمعاه

4-Max :- للحقل قيمة اعلي يأخذSelect Max (F.Name) AliasName From TableName;

5-Min :- للحقل قيمة اقل يأخذ Select Min (F.Name) AliasName From TableName;

Group By: - Select Dept_no,sum(salary) from Employee group by dept_no Having Sum(salary)>20000 ;

Page 14: Oracle

Select Dept_no,sum(salary) ss from Employee where ss>20000 group by dept_no ;

Subquerise: -Select * From Table1Name where Condition (Select * from Table2Name);

Select first_name ||' '|| Last_name from employee where salary > (select salary from employee where emp_id=3000);

OrSelect first_name ||' '|| Last_name from employee where salary > (select min (salary) from employee);

Select first_name ||' '|| Last_name from employee where salary > (select min (salary) from employee);

Subquerise افضلمن Join ال

Union Clause: -Select emp_id,year,month from employee_trnas union select emp_id,year,moth from employee_trans_history where emp_id =1000;

للحقلفي أنيجب مطابق األول الجدول في الحقل ال يكون انيثالجدول

عليها حي مثاليمكن سبق ما ما أنرصيد كل تضيفعليه تجمع ثم السابق الرصيد سبق

التاريخ الباقيحسب

Select * from TableName1 where F.N1 < محدد تاريخUnion Select * from TableName1 where F.N1 < السابق نفسالتاريخ

Views Clause: -Create or replace view ViewName as Select F.N1,F.N2,... From TableName1, TableName2,... where F.N=F.N ;

تعديل أو إنشاء Create or replace view Salary_trans as select a.emp_id,a.frist_name,b.Month || '/' || b.year Date ,b.Salary from employee a , employee_trans b where a.emp_id=b.emp_id ;

العرضبـ في الجدول مثل عملها بعد ; Select * from ViewName وتستخدمبـ ;Desc ViewNameوتستعرضمحتوياتها

ال داخل بياناتمن تحديث View جملةUpdate SALARY_TRANS set SALARY = 6000 where emp_id = 1000;

للحذفDelete from SALARY_TRANS where emp_id = 1000

علىحقل يعدل ال التعديل يقبل Alias لكن ال لحقلين

Page 15: Oracle

Sequence Object: -Serial Number ي وخًالفه ذخأعشان الفواتير في يفيد الجدول على مسلسل

يعني األرقام فيمسلسل فراغ يعمل انه عيبه في أولولكن تبدأ إضافةمامسلسل رقم يحجز سجل

معين Object يكون بجدول عًالقة ليسله منفصل

Create Sequence Seq_Name Increment By 1 Start With 1 ;Create Sequence Emp_Seq Increment By 1 Start With 1 ;

Select emp_seq.currval from dual ;ال هذا الحاليمن تعرضالرقم Objectـ عشان

Update, Delete

Select emp_seq.Nextval from dual ;اإلضافة في وتستخدم التالية يعرضالقيمة عشان

Insert

علىجدول ربطه كيفيةInsert into employee values (emp_seq.nextval, 1000,'Moh','Saleh', 5000,2);

PL/SQL

Procedural Language: - اإلجرائية اللغةال بين الرابط Stored Procedure With Interfaceـ هي

PL/SQL Structure: -Santex :-

Declare {Optional} Variables, cursor,User_Defined ExceptionBegin ==> {Mandatory} ضروري

SQL St ===>Body Pl/SQL St ===>

Exception {Optional} Actions To Perform Where Errors Occur {Mandatory} END:

بـ بـ Beginيبدأ .; Endوينتهي-: البيانات مع التعامل أوامر لعمل

1. Previous do_key(‘Previous_record’);2. Nextdo_key(‘Next_record’);3. Firstdo_key(‘Up’);4. Lastdo_key(‘Down’);5. New do_key(‘create_record’);6. Save do_key(‘commit_form’);7. Make Query do_key(‘enter_query’);8. Execute Query do_key(‘Execute_query’);

Page 16: Oracle

9. Cancel Query do_key(‘clrfrm’);10. Exit Form Query do_key(‘Exit_form’);11. Deletedo_key(‘Delete_Record’);12. Printdo_key(‘Print’);13. Lock do_key(‘Lock_Record’);

ملف :-EXEالستدعاءDeclare Prg pls_integer ;Begin Prg:=dde-app-begin(‘c:\PathName\FileName’dde-app-mode-maximized); :global.prg=prg;End;

-: بأوراكل الخاصة الشاشة لتكبيرIn Form ActiveWhen_New_Form_InstanceSet_window_property(forms_mdi_window,window_state,maximize);Set_window_property(‘window1’,position,0,0 );Set_window_property(‘window1’,window_state,maximize);

جملةIf Statement -: في VBمثل الوحيد االختًالف فقط تكون Elseifولكن أوراكل فيelsif بدونE.

-: داخله قيمة ووضع لتعريفمتغيرDeclare

I number (5);Begin

I: =5;End;

-: الحسابية المعامًالتالقسمة+ * ** - / . ، الطرح ، األس ، الضرب ، جمع

-: العًالقية المعامًالت <> != ^= ، يساوي ال ، يساوي ال ، يساوي ، > ال من <اكبر

من . أصغر التكرارLoop-:

Loop-Exit-Endالـ جملة Loopإلنهاء معها مثال . :-Exitلتنفيذ Ifتضع

BeginI: =1;Loop If I > 10 then Exit; End if; Imperative Statement I: =I+1;End Loop;

End;

Loop-Exit When-EndBegin

Page 17: Oracle

I: =1;LoopExit When I >10; Imperative Statement I: =I+1;End Loop;

End;

While-Loop-EndBegin

I: =1;While I <=10 LOOP Imperative Statement I: =I+1;End Loop;

End;

For-in-Loop-EndBegin

For I In 1.10 LOOP Imperative Statement End Loop;

End; المؤشراتCursors -:

الـ لجمل نوعان :-Selectتستخدم وهيالصريحة :-.1 المؤشرات

الـ في عنها التصريح عبارة Declareيتم فقط . SelectوتشملDeclare MyVariable varchar2(40); Cursor MyCursor is select * from TableName Where FiledName=Value ;Begin Open MyCursor ; الكروسر لفتح Fetch MyCursor Into MyVariable ; في ووضعه الكرسور قيمة إرجاعمتغير Close MyCursor ; الكروسر إلغًالق

2.

Page 18: Oracle

Form Builderالنافذة :-Window Objectsعناصر

النوافذ :- أنواع المستندية :-Document Windowsالنوافذ

الـ النوافذ الـ Childمثل خًالل VBفي من MDIتكون(Multiple Document Interface)

الـ كل تحته .Childيندرج

األساسية اواركل Run Timeشاشة

Form Window

Canvas

Data Block Like Container In VB

Page 19: Oracle

الحوارية :-Dialog Windowsالنوافذمشروطة تجعلها أن ويمكن للمستخدم رسائل إلظهار

Modal. عليه اإلجابة قبل أيشئ إجراء يتم ال أيCanvas: -

على تحتوي أن للشاشة من Canvasيمكن اكثر أو واحدCanvas والـCanvas-: أنواع أربع

المحتوي :-Content Canvasكانفز. Q تلقائيا إنشاءه ويتم نموذج االفتراضيألي وهو

المكدسة :-Stacked Canvasكانفزالـ الـ Stackedيكون أن Contentفوق ويمكنعنطريقه

أيضا ويمكن وتختفي تظهر بداخلها التي العناصر تجعلمنزلقة فرعية نوافذ .Scrolled Sub Windowإضافة

مبوبة :- Tab Canvasكانفزالـ فوق أيضا متعددة Content Canvasتستقر وتكون

مثل الـ Tabالصفحات .VBفي األدوات شريط :-Toolbar Canvasكانفز

) رأسي أو أفقي يكون أن للـ) Horizontal , VerticalيمكنMDI من اكثر على الواحدة الشاشة تحتوي أن ويمكن

Toolbar.

Block Object الكتلة -: عناصرالـ لعناصر منطقية حاوية عن عبارة الـ Formوهو مثل

Container in VB Data Block: -

وبين البيانات قاعدة في اكثر أو جدول بين جسر ينشئ .Formالـ

Control Block: -فيه . األزرار عمل ويتم

Menu: --: قوائم لعمل

لكل إلغراضعامة منفصلة القائمة عمل يمكنكلتكرارها . الحاجة دون الشاشات مع إرفاقها و الشاشات

File Menu+Create

بعمل اختار Menuسيقوم فارغة Property Plateجديدةتريده . اسم ألي اسمها وغير

Page 20: Oracle

القائمة R.Clickاضغط من تظهر Menu Editorواختارالفرعية البنود وتحت القوائم في تريده ما اكتب القائمة

الـ تكتبفي أن لم Pl/SQLيجب وإذا المطلوب الكودتكتب أن يجب .;Nullيوجد

أي مع الـ Formلربطها الخصائص Formافتح ومنProperty Plate Menu Module

الـ أسم عملها .Menuغير السابقبند نفسالـ Windowومن Formمن

Property Plate Module . Noبدل Yesخليها

القائمة :- بنود أنواعMenu Item Type: -

Plain عادي Check بجواره (√)Radio (Like Option)Separator بنود فاصل

Alerts: --: األخطاء رسائل لعمل

الـ من اختارFormAlertsCreateProperty Plate

أقصى في 3بحد تريده الذي األزرار اكتبفي أزرارMassage وButton الـ اسم وغير األزرار عدد Alertsوحدد

تريده :- الذي باالسمDeclare SisBegin Sis:= show Alert(‘ هنا الرسالة ;(’اسمIf sis= alerts_button1 then Imperative Statement 1Elsif sis=alert_button2 then Imperative Statement 2End if

End;

Page 21: Oracle

LOV (List Of Value):-البند الـ LOVمن اجعل ثم جديد يعمل wizardاختار

الـ في إظهارها المراد الحقول ضع بعد . LOVsثمالـ من الـ Wizardاالنتهاء اسم وغير LOVsغير

بالـ ومكان Listالخصائصالخاصة الحجم مثلوإلظهار وخًالفه تحت Cmd Buttonتحت هالظهور

الحدث :-When-Button-pressedDeclare Sis Boolean ;Begin

Sis:=show-lov(‘LOVs_Name’);End;

Text Item: -) بـ التحرك قابلية )tab , enter, Down Arrowلفتح

Keyboard navigable yes لـ الخلف إلى سابق Item للرجوع

Previous Navigation هو يكون تريده الذي العنصر اخترالسابق

لـ األمام إلى تالي ItemللتحركNext Navigation هو يكون تريده الذي العنصر اخترالتالي

الحروف PasswordإلخفاءConceal Data

Editors: -الـ كالتالي :-Note Padمثل تنشئ وخًالفه

بند بإنشاء Createوتختار Editorتقفعلى يقومEditor . جديد

الـ تغيير الخصائص … , Title , Nameيمكنك منبه . الخاصة

للربطمعText خصائصالـ خاصية Textمن اجعلEditor الـ بإنشائه .Editorبأسم قمت الذي

Check Box: -

Page 22: Oracle

إلنشائه :-لحفظه المقابل الحقل يكون أن Digit 1من Numberيجب

الـ في الشاشة على إضافته بعد الحقل تقفعلىCanvas الـ االختيار Item Typeوتجعل Check Boxعلى

مباشرة القيمة بتخزين على 0,1سيقوم Checked OrبناءNot Checked . تغير أن بعد وذلك

Value When Checked =1Unchecked =0

List Item: - .List Item (Combo)إلنشاء

الخصائصالتالية :- بتغيير قمList Style PopulistElements In List إظهارها المراد البنود جميع

List Elements للبنودList Item Value بند كل قيمة

Initial Value افتراضي بند رقم ضع

Radio: -الحقل Radioإلنشاء تقفعلى معين حقل مرتبطمع

الخصائص من وتختارItem type Radio Group

الـ على من الـ Createاضغط Radio Buttonثم Labelوغيروقيمته

Radio Button Valueالـ في إظهاره يتم الـ Canvasوبعدها تشغيل Dataبإعادة

Block Wizard كان إذا يرسم Radio Buttonأما بجدول مرتبط غير عادي

الـ على عادي . Canvasبشكل

Image: -النوع من الجدول في هناكحقل يكون أن يجب

Long-RawNullبعمل بالـ Moduleقم الصورة وضيفحقل Dataجديد

Block Wizard الـ اختار النهاية وقبلOption Blob-type=’Image’

Page 23: Oracle

خد صورة علىشكل الصورة الحقل اسم لك سيظهرخصائص

Sizing Style = Adjust الصورة :- لتشغيل

ضيفCmd -: واكتبفي جديدWhen-button-pressedDeclare File_name varchar2(255);Begin

Read-imgae-file(file_name,’any’ ,’module_name.blob_data’;

End; إلظهارIcon الـ في بند Menu Barمعين تقفعلي

عمل Menuالـ له IconالمرادToolsProperty Plate Icon In Menu yesToolsProperty Plate Icon File NameIcon Name