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

Procedure لتعديل أرقام تليفونات المحمول في مصر وبسرعه عاليه!


weloooo

Recommended Posts

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

للأسف الشديد أنا بعيد عن المنتدى الغالي الذي لن أنسى فضله عليا بعد الله سبحانه وتعالى بسبب إنشغالي. أتمنى أن تستفيدوا من مشاركتي وهي (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;



تحياتي.

رابط هذا التعليق
شارك

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

الأخ / احمد يحيى

بداية شكرا لك على مشاركاتك بهذا الكود لإفادة الأخوة الأعضاء

اتمنى لك التوفيق فى حياتك العلمية والعملية

وننتظر منك مشاركات متميزة كما عودتنا من قبل ... اذا سمح وقتك بذلك

جزاك الله خيرا

رابط هذا التعليق
شارك

  • بعد 4 شهور...

ممكن اعرف رائيكم فى الكود التالى

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;

رابط هذا التعليق
شارك

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

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

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

×   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.

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

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

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