إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

سؤال في Pl/sql


6 رد (ردود) على هذا الموضوع

#1 أحساس غالي

أحساس غالي

    عضو

  • الأعضــاء
  • 18 مشاركة

تاريخ المشاركة 06 December 2010 - 12:37 AM

السلام عليكم

السؤال....

Create a PL-SQL block to insert records into STUDENT table. The PL-SQL block must raise all possible types of exceptions.



#2 هندسة برمجيات

هندسة برمجيات

    عضو

  • الأعضــاء
  • 16 مشاركة

تاريخ المشاركة 06 December 2010 - 01:14 AM

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

ان شاء الله ستجد من يجيب

#3 محمد avdv

محمد avdv

    عضو

  • الأعضــاء
  • 11 مشاركة
  • الاهتمامات:الاهتمام بالاوركل

تاريخ المشاركة 06 December 2010 - 11:33 AM

وعليكم السلام ارجوا ان اكون قد فهمت سؤالك بطريقة صحيحة
وهي انك تريد اضافة سجل جديد الى جدول الطالب الاجابة كالتالي :
insert into Table_name (Fileds_name) select Fileds_name from Tables_name
where Condition ;
اذا كان فهمي للسؤال ارجوا الرد والسلام
اخوك محمد

#4 HELL-BOY

HELL-BOY

    مشترك

  • الأعضــاء
  • 187 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 06 December 2010 - 07:08 PM

declare

begin
insert into STUDENT  values(val1,val2,...);
exception
when others then
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
end;

الاكسبشن دا هيظهر اي ايرور يحصل في البلوك

ORACLE 10G DEVELOPER


ORACLE 11G ADMIN

 

مطلوب شريك لتسويق برنامج حسابات ومخازن

waleed.ita@gmail.com

http://hodaerp.blogspot.com/

 

 


#5 أحساس غالي

أحساس غالي

    عضو

  • الأعضــاء
  • 18 مشاركة

تاريخ المشاركة 07 December 2010 - 12:03 AM

مشكورين أخوان
بس الأجابة ماواضحه مافهمت شي

#6 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 794 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 08 December 2010 - 03:28 PM

السلام عليكم

السؤال....

Create a PL-SQL block to insert records into STUDENT table. The PL-SQL block must raise all possible types of exceptions.


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

اهلا وسهلا بالاخ أحساس غالي

حسب ما فهمت اخي العزيز الموضوع بسيط جدا جدا جدا

السؤال يطلب منك كتابة برنامج صغير يعمل على اضافة بيانات طلاب في جدول الطلاب ويطلب منك كتابة جميع الايرور مع معالجة هذه الايرور قدر المستطاع

على فرض هذه حقول جدول الطلاب

stu_id رقم الطالب
stu_name أسم الطالب
stu_address عنوان الطالب
stu_phone تلفون بيت الطالب

وهذا هو الجدول

SQL> create table student(
  2  stu_id number,
  3  stu_name varchar2(20),
  4  stu_address varchar2(20),
  5  stu_phone varchar2(20)
  6  );

Table created.

SQL> 
SQL> alter table student 
  2  add constraint student_pk primary key(stu_id);

Table altered.

الان نريد كتابة البرناج الخاص بأضافة البيانات

بسم الله نبدء

SQL> declare
  2  v_stu_id number;
  3  begin
  4  select nvl(max(STU_ID),0)+1
  5  into v_stu_id
  6  from student;
  7  begin
  8  insert into student(STU_ID,STU_NAME,STU_ADDRESS,STU_PHONE)
  9  values(v_stu_id,&STU_NAME,&STU_ADDRESS,&STU_PHONE);
 10  exception
 11  when value_error then
 12  dbms_output.put_line('Pleas Enter Number   ..');
 13  when DUP_VAL_ON_INDEX then
 14  dbms_output.put_line('This record store is already');
 15  when others then
 16  dbms_output.put_line('Another error...'||sqlerrm);
 17  end;
 18  commit;
 19  end;
 20  /
Enter value for stu_name: 'Mousa'
Enter value for stu_address: 'Amman'
Enter value for stu_phone: '0797907852'

PL/SQL procedure successfully completed.

ولكي نرى البيانات

PL/SQL procedure successfully completed.

SQL> select *
  2  from student;

   STU_ID STU_NAME             STU_ADDRESS          STU_PHONE
--------- -------------------- -------------------- --------------------
        1 Mousa                Amman                0797907852


هذا الايرور when value_error then خاص بخطأ في ادخال البيانات مثل ادخال حرف في حقل خاص بالارقام اول ادخال احد الرموز مثل *&^(#@ في خانة الرقم


هذا الايرور when DUP_VAL_ON_INDEX then خاص بالقيد المكرر يعني السجل هذا سبق تسجيله

هذا الايرور when others then خاص بحالات اخرى لذلك كتبت داخل sqlerrm لكي يعطيني الخطأ الحاصل .


طبعا انواع اخرى من الـــــــــــ Exeption مثل

invalid_cursor وهذا للخطا فى الكيرسر سواء فتحه وهو مفتوح او غلقه وهو مغلق
no_data_found وهذا يستخدم عند عدم رجوع جملة select باى ناتج
too_many_rows وهذا عندما تعود جمله select باكثر من صف والمتغير الذى لدى يكون مفرد
ziro_divide وهذا عند القسمه على صفر

طبعا يوجد انواع اخرى ...

ارجوا ان اكون اوصلت الفكرة بطريقة سهلة

وانا ان شاء الله جاهز لأي استفسار

اخوك موسى

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#7 أحساس غالي

أحساس غالي

    عضو

  • الأعضــاء
  • 18 مشاركة

تاريخ المشاركة 09 December 2010 - 08:52 PM

مشكور أخوي miash الله يعطيك العافية
وماقصرت