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

بتاريخ:

أرقام الموبيل عندنا فى مصر بتكون مكونة من عشرة ارقام و اول رقمين فيهم لازم يكونوا 01 ذى كده :-

0129231239
0109283746
0168483873

و هكذا ......

انا دلوقتى عاوز اعمل جدول يكون فيه حقل الموبيل كالاتى :-

1 - يكتب فيه الارقام فقط ( اى لا يمكن ادخال الاحرف فى هذا الحقل نهائياً )
2 - يكون عشرة ارقام فقط ، لا اكثر و لا أقل
3 - اول رقميين لازم يكونوا ( 01 )

ده الكود اللى قدرت اتوصله لحد دلوقتى ..... بس انا لسه مش مقتنع به :-

create table mobile ( Mobile varchar2(10) not null unique , check (length(mobile)='10' and substr(mobile,1,2)='01') );



مشكلة الكود انه مش بيمنع ادخال الحروف

انا منتظر حل لهذه المشكلة و شكراً

بتاريخ:

هاني هل أنت تريد أن تقوم بهذا من خلال تريجرات الفورمز أم أنك تريد أن تقوم بها من خلال تريجرات الداتا بيز

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

from oracle Database 11g ........ NOT from forms

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

بتاريخ:

السلام عليكم؟؟

أخي هاني..

ممكن تجعل نوع الحقل number بدل من أن يكون varchar2
وبعد ذلك لا يقبل الحقل إلا الأرقااااام فقط؟

وإن شاء الله تضبط معاك

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

ايه اخبارك ....... والله ليك وحشه

لا تنفع هذه الحيلة لأن الاوراكل لن يعتبر الصفر الذى فى اليسار 0129231143
ذو قيمة و بذلك سيعتبر الرقم الذى لديك تسعة أرقام فقط و بذلك لن تتم عملية ال insert

شكراً لتعبك ..... و مازلت منتظر المزيد من المقترحات <_<

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

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بما أن أي خانة فقط تقبل الأرقام التالية 0 1 2 3 4 5 6 7 8 9
فالحل هنا

create table mobile ( Mobile varchar2(10) not null unique , 
check (length(mobile)='10' and substr(mobile,1,2)='01' and substr(mobile,3,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,4,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,5,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,6,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,7,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,8,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,9,1) in ('0','1','2','3','4','5','6','7','8','9') and substr(mobile,10,1) in ('0','1','2','3','4','5','6','7','8','9')) );


فقط دعواتكم
أخوك شبيكه ربيع

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

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

أخى العزبز شبيكه ربيع .... بعد تجريب كودك ، طلع فعلاً اجابتك صحيحة
شكراً أخى جزيل الشكر و بارك الله فيك

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

فقط حبيت ان أضيف كودان اخران يقوموا بما اريده فى حقل الموبيل :-

الكود الاول :-

create table mobile (
Mobile varchar2(10)
not null unique ,
check (length(mobile)=10 and to_number(mobile) between 100000000 and 199999999)
     );



الكود الثانى :-

create table mobile ( 
   Mobile varchar2(10) 
   not null unique, 
   constraint length_con check (length(mobile)='10') ,
   constraint start_with_con check (substr(mobile,1,2)='01'),
   constraint num_only_con check (
       length(trim(translate(mobile,'0123456789','          '))) = 0)
   );



و بالطبع كود اخى العزيز (( شبيكه ربيع )) صحيح تماماً ،
انا بس حبيت اضيف افكار جديدة علشان يستفيد منها الجميع .

و شكراً

بتاريخ:

السلام عليكم ورحمة الله وبركاته. دي طريقه أخرى ممكن أن تحقق المطلوب أيضا وهى للتنويع والزياده والطرق السابقه ممتازه جدا :

create or replace trigger for_mobile before insert or update
of mobile on mobile
for each row
declare
n number(3);
counter number:=1;
b char(1);
begin
n:=length(:new.mobile);
if n<10
then
raise_application_error(-20110,'Your phone number should be ten digits.');
end if;
if substr(:new.mobile,1,2)<> '01'
then
raise_application_error(-20111,'Your phone number should begin with 01.');
end if;
loop
b:=substr(:new.mobile,counter,1);
if b not in('0','1','2','3','4','5','6','7','8','9')
then
raise_application_error(-20555,'You are only allowed to insert numbers.');
end if;
counter:=counter+1;
exit when counter>n;
end loop;
end;
/

بتاريخ:

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


انا كان عندي اضافه على اجابات الاخوه الاعضاء في جزئيه ادخال ارقام فقط
CREATE TABLE PHONE 
(MOBAIL VARCHAR2(10)
CONSTRAINT ABCD CHECK (MOBAIL BETWEEN 0 AND 9999999999))


او طريقه تانيه

CONSTRAINTS CHECK (MOBAIL=TO_NUMBER(MOBAIL));

بتاريخ:

السلام عليكم ورحمة الله وبركاته.
فكرتك أروع يا أخ Lo2lo2a
وطريقتك مختصرة ومزيدا من التقدم وشكر للجميع والشكر الخاص لصحاب الفكرة هاني
وجزاكم الله خيرا

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

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

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

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

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

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.