الانتقال إلى المحتوى
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.

مشكلة في كود للتعديل على قيمة عمود حسب طوله

Featured Replies

بتاريخ:

السلام عليكم
عندي عمود للصنف في جدول المخازن هذا العمود المفروض يتكون من 9 أرقام
فأنا أعمل كود يفحص الحقل إذا وجده 8 أرقام يضع صفر على اليسار
لكن هذا الكود لم يظبط معي مع أن التنفيذ تم بدون أخطاء
أرجو المساعدة من الإخوة

DECLARE 
V_ITEM INVENTORIES.INV_ITEM%TYPE;
BEGIN FOR ITEM_CUR IN (SELECT * FROM INVENTORIES) LOOP
IF length(V_ITEM) = 8 then
UPDATE INVENTORIES SET INV_ITEM =0||V_ITEM;
END IF;
END LOOP;
END;

تم تعديل بواسطة new_world

بتاريخ:

أخي الكريم ماهو نوع ذلك العمود لو كان من النوع number فطبعا مشهينفع لان لو النوع number لايقبل الصفر جهة اليسار يمكنك تحويله إلى varchar2
ورد علينا

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

شكراً للأخ مصطفى هذا هو نوعه

INV_ITEM                      VARCHAR2(25 BYTE) NOT NULL,

بتاريخ:

أخي الكريم
اضبط حلك على هذا المثال مع تعديل في كودك
فرضا عندي جدول اسمه ee على سبيل المثال


create table ee
(id   varchar2(10),
name   varchar2(50));


قم بعمل هذا الكود كالتالي


DECLARE

BEGIN FOR i IN (SELECT id FROM ee) LOOP
IF length(i.id) = 8 then
UPDATE ee SET id =0||i.id;
END IF;
END LOOP;
END;


جرب وادعيلي

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

جزاك الله خيراً أخي مصطفى
الكود الخاص بك كان ينقصه فقط شرط WHERE لكي يتم التعديل على كل حقل وهذا هو الكود النهائي وهو يعمل تمام ولله الحمد

DECLARE
V_ITEM INVENTORIES.INV_ITEM%TYPE;
BEGIN FOR ITEM_CUR IN (SELECT * FROM INVENTORIES) LOOP
IF length(ITEM_CUR.INV_ITEM) = 8 then
UPDATE INVENTORIES SET INV_ITEM =0||ITEM_CUR.INV_ITEM
where INV_ITEM=ITEM_CUR.INV_ITEM;
END IF;
END LOOP;
END;

تم تعديل بواسطة new_world

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

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

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

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

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

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.