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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كيف أستطيع أن أعرف حقل زيادة تلقائية


2 رد (ردود) على هذا الموضوع

#1 hazeb03

hazeb03

    عضو

  • الأعضــاء
  • 7 مشاركة

تاريخ المشاركة 05 July 2005 - 12:41 PM

السلام عليكم
لو سمحتم الزملاء الأعزاء سؤالي
كيف أستطيع عند انشاء جدول أن أعرف حقل من نمط integer مثلا وأجعله Primery key وأجعله يزيد تلقائيا عند اضافة أي سجل
وجزاكم الله خير

#2 ERP

ERP

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 05 July 2005 - 08:06 PM

الأفضل تعمل هالشغلة هاي داخل الفورم على ال Pre-Insert Trigger وتسحب من Sequence أو تعمل Select Max() للحقل وترجع تخزن الناتج + 1

والأمر الثاني لو بك تعملها من الداتابيس إنك تعرف Pre Insert Databas trigger على الجدول وتعمل فيه نفس الشي

بس برجع بقلك على الفورم أفضل وبتقدر تتحكم فيها أكثر ومن خبرتي بقلك تستخدم ال Select Max() أفضل من ال Sequence حتى لا يضيع عليك أرقام

#3 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 19 July 2005 - 10:58 AM

الاخ الكريم :
اظن انك تريد ان تستخدم Default الخاص بالحقل بحيث تكون مصدرها Sequnece

اقول لك :
- القيمة الافتراضية هى قيمة يمكن ان يأخذها الحقل عند اهمال قيمته فىالادخال مثال

Create table employees (last_name varchar2(50), salary number (6) default 400)

فعند اهمال قيمة حقل Salary فانه يأخذ قيمة 400

- هناك مجموعة قيود على القيم المعطاة للقيمة الافتراضية منها لا يصح ان تكون Nextval أو Currval أو تكون قيمة حقل اخر

وهذا ما ورد بشأن هذا الامر

Default value cannot be the
name of another column or a pseudocolumn, such as NEXTVAL or CURRVAL. The default expression must
match the data type of the column.


ويمكن الرجوع الى Introduction to Oracle9i: SQL الفصل التاسع الصفحة السابع

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com