weloooo بتاريخ: 4 أكتوبر 2011 تقديم بلاغ مشاركة بتاريخ: 4 أكتوبر 2011 السلام عليكم ورحمة الله وبركاته. للأسف الشديد أنا بعيد عن المنتدى الغالي الذي لن أنسى فضله عليا بعد الله سبحانه وتعالى بسبب إنشغالي. أتمنى أن تستفيدوا من مشاركتي وهي (Procedure) لتعديل أرقام تليفونات المحمول في مصر طبقاً للتعديلات الجديده وهذا الإجراء تم عمله حتي يتم بسرعه وكفاءه عاليين . ملحوظه: يمكن لأي أحد منكم أن يعدله طبقاً لإحتياجاته. الكود بالأسفل........ DECLARE TYPE xx_phone_id IS TABLE OF YOUR_TELEPHONE_TABLE.TELEPHONE_ID%TYPE INDEX BY BINARY_INTEGER; TYPE xx_phone_num IS TABLE OF YOUR_TELEPHONE_TABLE.TELEPHONE_NUMBER%TYPE INDEX BY BINARY_INTEGER; xx_phone_id_tbl xx_phone_id; xx_phone_num_tbl xx_phone_num; CURSOR xx_tel_mod IS SELECT DD.TELEPHONE_ID, DD.TELEPHONE_NUMBER FROM YOUR_TELEPHONE_TABLE dd WHERE (SUBSTR (DD.TELEPHONE_NUMBER, 1, 2) = '01' OR SUBSTR (DD.TELEPHONE_NUMBER, 1, 4) IN ('0150', '0151', '0152', '0155') OR SUBSTR (DD.TELEPHONE_NUMBER, 1, 3) IN ('150', '151', '152', '155')) AND SUBSTR (DD.TELEPHONE_NUMBER, 1, 3) != '013' /* telephone for banha */ AND LENGTH (DD.TELEPHONE_NUMBER) = 10; /* AND dd.TELEPHONE_ID = 7208567; */ v_new_tel VARCHAR2 (15); BEGIN OPEN xx_tel_mod; FETCH xx_tel_mod BULK COLLECT INTO xx_phone_id_tbl, xx_phone_num_tbl; CLOSE xx_tel_mod; FORALL x IN xx_phone_id_tbl.FIRST .. xx_phone_id_tbl.LAST UPDATE YOUR_TELEPHONE_TABLE vv SET vv.TELEPHONE_NUMBER = DECODE ( SUBSTR (xx_phone_num_tbl (x), 1, 3), '015', DECODE (SUBSTR (xx_phone_num_tbl (x), 1, 4), '0155', '0115', '0150', '0120', '0151', '0101', '0152', '0112'), DECODE ( SUBSTR (xx_phone_num_tbl (x), 1, 2), '15', DECODE (SUBSTR (xx_phone_num_tbl (x), 1, 3), '150', '0120', '151', '0101', '152', '0112', '155', '0115'), '01', DECODE (SUBSTR (xx_phone_num_tbl (x), 1, 3), '012', '0122', '017', '0127', '018', '0128', '010', '0100', '016', '0106', '019', '0109', '011', '0111', '014', '0114'))) || DECODE ( SUBSTR (xx_phone_num_tbl (x), 1, 3), '015', DECODE ( SUBSTR (xx_phone_num_tbl (x), 1, 4), '0155', SUBSTR (xx_phone_num_tbl (x), 5), '0150', SUBSTR (xx_phone_num_tbl (x), 5), '0151', SUBSTR (xx_phone_num_tbl (x), 5), '0152', SUBSTR (xx_phone_num_tbl (x), 5)), SUBSTR (xx_phone_num_tbl (x), 4)) WHERE VV.TELEPHONE_ID = xx_phone_id_tbl (x); END; تحياتي. 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 5 أكتوبر 2011 تقديم بلاغ مشاركة بتاريخ: 5 أكتوبر 2011 وعليكم السلام ورحمة الله الأخ / احمد يحيى بداية شكرا لك على مشاركاتك بهذا الكود لإفادة الأخوة الأعضاء اتمنى لك التوفيق فى حياتك العلمية والعملية وننتظر منك مشاركات متميزة كما عودتنا من قبل ... اذا سمح وقتك بذلك جزاك الله خيرا 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ahmed.arafa بتاريخ: 17 فبراير 2012 تقديم بلاغ مشاركة بتاريخ: 17 فبراير 2012 ممكن اعرف رائيكم فى الكود التالى UPDATE MOB SET MOBILE = CASE SUBSTR(MOBILE,1,3) WHEN '012' THEN '0122'||SUBSTR(MOBILE,4,10) WHEN '018' THEN '0128'||SUBSTR(MOBILE,4,10) WHEN '017' THEN '0127'||SUBSTR(MOBILE,4,10) WHEN '010' THEN '0100'||SUBSTR(MOBILE,4,10) WHEN '016' THEN '0106'||SUBSTR(MOBILE,4,10) WHEN '019' THEN '0109'||SUBSTR(MOBILE,4,10) WHEN '011' THEN '0111'||SUBSTR(MOBILE,4,10) WHEN '014' THEN '0114'||SUBSTR(MOBILE,4,10) ELSE MOBILE END; COMMIT; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.