الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Save And Update

Featured Replies

بتاريخ:

السلام عليكم و رحمة الله و بركاته
أنا بصراحة عندي سؤال محيرني و هو عند محاولتي التعامل مع شاشة متعددة الجداول (البلوك)كان لابد عمل زر حفظ مثل الموجود بالويزرد حيث يقوم بالSAVE AND UPDATE مرة واحدة عند ضغط زر السيف فكان لابد من وجهة نظري أن أتأكد من عدم وجود الريكور الحالي قبل لإنتقال للتالي فعلي أساس وجوده في الداتا بيز
سأقوم بأبديت أو إينسيرت فالمشكلة
إن عند عدم وجود البيان الذي أود إدخاه يحدث الEXCEPTIONالمشهور NO_DATA_FOUND فما الحل؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
و جزاكم الله خيرا
و السلام عليكم و رحمة الله و بركاته

بتاريخ:

اخي جمال ياليت توضح اكثر عشان اقدر افهمك انت الحين بتسوي زر ويكون عليه تريقر في حال ال insert او ال update بحيث يشيك على رقم الموظف مثلا اذا كان موجود يسوي update واذا ما كان موجود يسوي insert واذا ما لقي شي يدخل على ال exception when_no_data_found صحيح ولا لا ؟؟؟

بتاريخ:
  • كاتب الموضوع

HERE IS MY CODE SO WHAT IS THE WRONG
declare


x1 varchar2(10);
X2 VARCHAR2(10);
begin

select code1 into x1
from HIERARCHY_LEVEL_1
where code1 = :HIERARCHY_LEVEL_1.code1;
IF x1 is null then
insert into HIERARCHY_LEVEL_1
values(':HIERARCHY_LEVEL_1.CODE1',':HIERARCHY_LEVEL_1.NAME');
ELSE
UPDATE HIERARCHY_LEVEL_1
SET CODE1=:HIERARCHY_LEVEL_1.CODE1
,NAME=:HIERARCHY_LEVEL_2.NAME
WHERE CODE1=:HIERARCHY_LEVEL_1.code1;
END IF;

GO_BLOCK('HIERARCHY_LEVEL_2');
first_record;
WHILE :code2 is not null loop
select code_1_2 into x2
from HIERARCHY_LEVEL_2
where code_1_2=:code_1_2;
if x2 is null then
insert into HIERARCHY_LEVEL_2
values(':CODE2',':HIERARCHY_LEVEL_2.NAME'
,':HIERARCHY_LEVEL_2.code1','CODE_1_2');
next_record;
else
update HIERARCHY_LEVEL_2
set code2=:code2
,name=:HIERARCHY_LEVEL_2.name
,code1=:HIERARCHY_LEVEL_2.code1
,code_1_2=:code_1_2
where code_1_2 =:code_1_2;
next_record;
END IF;

END LOOP;
COMMIT;

/* EXCEPTION
WHEN NO_DATA_FOUND THEN
MESSAGE('NO_DATA_FOUND');
MESSAGE('NO_DATA_FOUND');*/

END;

بتاريخ:

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

أخي الكريم

اعتقد ان الخطأ في هذا الكود ان ال query يمكن ان يستدعي اكثر من record
لذلك لابد من وضع ال select statement into cursor

بالتوفيق

بتاريخ:

زود exception
when too_many_row

بتاريخ:
  • كاتب الموضوع

ياريت يا جماعة اللي عارف الحل من ذوي الخبرة يرد و شكراً

بتاريخ:

استخدم exception بالطريقة التالية

exception
   	when dup_val_on_index then
   	update salary_detail set det_value = det_val
     where emp_no = emp and sal_code = sal_cod;


مع عمل التعديلات حسب ما موجود عندك
هذا بافتراض أن هناك حقل primary Key or unique
وإذا في اي سؤال انا في الخدمة

بتاريخ:
  • كاتب الموضوع

ok but i want to tell you that is easy in on block as one table but as you see in my code i have two blocks each block for one table and i want to save and update the two blocks in on trigger and thank you very much.

[يسار][/يسار]

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.