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

PROCEDURE FORMAT_PHONE


TAREK ALHAMAD

Recommended Posts

هذا ال 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
رابط هذا التعليق
شارك

هى هى يا أستاذ خالد مش هتفرق خالص بالعكس ال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
رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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