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

PROCEDURE FORMAT_PHONE

Featured Replies

بتاريخ:

هذا ال PROCEDURE خاص بتقسيم أرقام التليفون
جرب أحسن كثير من الشرح

هذا ال PRODEDURE
------------------------------
من على SQL PLUS ضع الكود التالى كما هو PASTE & COPY

CREATE OR REPLACE PROCEDURE format_phone
  (v_phone_no IN OUT VARCHAR2)
  IS
  BEGIN
   v_phone_no := '(' || SUBSTR(v_phone_no,1,3) ||
                  ')' || SUBSTR(v_phone_no,4,3) ||
                  '-' || SUBSTR(v_phone_no,7);
   END format_phone;
/


للتجريب من الفورم المرفق الخاص بالعملاء
أدخل بيانات أى عميل وليكن رقم العميل واسم العميل ورقم التليفون
واعمل SAVE ولاحظ التغير فى حقل التليفون
------------------------------------------------------------------------------------
أذا اردت أستخدامة على اى حقل تليفون فى اى فورم
ضع ال TRIGGER على حقل التليفون
WHEN-VALIDATE-ITEM

if :phone is not null then
format_phone(:phone);
end if;


phone: -----------> أسم حقل التليفون
format_phone -------> أسم ال procedure

FORMAT_PHONE.fmb

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

بتاريخ:

فكره رائعه بس لو تعملها على شكل function سوف يكون احسن لان الفنكشن سف تاخذ الرقم وترجعه على شكل phone fromat بحيث نستطيع ان نستخدمها في الformula calculation الخاص بالحقل الموجود في الفورم

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

بتاريخ:

مشكور على الكود

بتاريخ:

شكراااااااا :rolleyes:

بتاريخ:

شكراً :rolleyes:

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

هى هى يا أستاذ خالد مش هتفرق خالص بالعكس الprocedure
سوف ينفذ أسرع خصوصا فى حالة وجود عدد كبير من ال procedures وال functions على الداتابيز وهى البيئة الفعلية والعملية لاى مشروع
لذلك ان أرى ان procedures عمله أسرع من الفنكشن عموما اذا كان يؤدى نفس الوظيفة
والرأى الاخير لك طبعا فانت أستاذى وكثيرا ما أستفدت من خبرتك
ورجاء خاص منك أن تكمل دروس pl/sql التى كنت قد بداتها حتى اتمكن منها لانها القسم الوحيد فى أوراكل ديفلوبر الذى أجد نفسى فيه ضعيف ما عدا ما كنت قد قمت بشرحة
فى دروسك السابقة بعد شرحك له وجدت نفسى متمكن منه ومستوعب له نظرا لاسلوبك الرائع فى الشرح وتبسيط الامور وايضاح المعنى وتوصيل الفكرة ... أرجو الاهتمام يا أستاذ خالد اذا سمح وقتك بمتابعة الدروس
وشكرا لكم جميعا
يا أجمل أعضاء لاروع منتدى

  • بعد 3 سنة...
بتاريخ:

شكرا لك يا اخ طارق

  • بعد 9 شهور...
بتاريخ:

السلام عليكم ليه فى procedure ده
معملناش الvariable
declare
v_phone_no varchar2
؟؟؟؟؟؟؟؟
ممعلش عشان أنا متلخبطه أوى فى ال varaibles و ميش بعرف أفرق بنهم

تم تعديل بواسطة sydra ali hamza

  • بعد 1 سنة...
بتاريخ:

السلام عليكم
مشكور أخي على البروسيجر..
ولكن هذا في حال كان رقم التلفون فقط 10 ارقام..
ولكن عند كتابته مع الكود الدولي لا يعمل...
قمت بالتعديل على البروسيجر بحيث يقبل كلتا الحالتين:

PROCEDURE format_phone
 (v_phone_no IN OUT VARCHAR2)
 IS
 BEGIN
  v_phone_no := '(' || SUBSTR(v_phone_no,1,3) ||
			  ')' || SUBSTR(v_phone_no,4,2) ||
			  '-' || SUBSTR(v_phone_no,7);
  END format_phone;



بالتوفيق

تم تعديل بواسطة PALI.ORACLE

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

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

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

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

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

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.