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

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

صورة
- - - - -

وين المشكلة Invalid Identifier


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

#1 alkhatry

alkhatry

    عضو

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

تاريخ المشاركة 26 January 2007 - 10:37 PM

مرحبا شباب
عندي مشكلة لما اعمل تنفيذ لعمل جدول حاولت اعيد واعدل بس بدون فايده
ممكن اعرف وين المشكله
ولكم الشكر مقدما


1 create table ward_requist(requist_no number(6) not null primary key,
2 requist_by varchar2(20),
3 FOREIGN KEY (w_no) REFERENCES wards (w_no) ON DELETE CASCADE,
4 item_no number(20),
5 item_name varchar2(20),
6 description varchar2(50),
7 dosage varchar2(20),
8 moa varchar2(20),
9 unit_price number(10),
10 qty number(10),
11* req_date DATE)
SQL> /
FOREIGN KEY (w_no) REFERENCES wards (w_no) ON DELETE CASCADE,
*
ERROR at line 3:
ORA-00904: "W_NO": invalid identifier

#2 -=|mOOdY|=-

-=|mOOdY|=-

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

  • المجموعة الماسية
  • 1,324 مشاركة

تاريخ المشاركة 27 January 2007 - 02:06 AM

SQL> create table wards(w_no number primary key);



Table created.



SQL> create table ward_requist(

  2  requist_no number(6) not null primary key,

  3  requist_by varchar2(20),

  4  item_no number(20),

  5  item_name varchar2(20),

  6  description varchar2(50),

  7  dosage varchar2(20),

  8  moa varchar2(20),

  9  unit_price number(10),

 10  qty number(10),

 11  req_date DATE,

 12  w_no number,

 13  FOREIGN KEY (w_no) REFERENCES wards (w_no) ON DELETE CASCADE)

 14  /



Table created.

صورة

!!! كم أنت عبقري !!!


#3 alkhatry

alkhatry

    عضو

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

تاريخ المشاركة 27 January 2007 - 12:34 PM

شكرا لك عزيزي مودي وبارك الله فيك
table created ;)

#4 -=|mOOdY|=-

-=|mOOdY|=-

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

  • المجموعة الماسية
  • 1,324 مشاركة

تاريخ المشاركة 27 January 2007 - 04:13 PM

welcome man

صورة

!!! كم أنت عبقري !!!


#5 amsh

amsh

    عضو

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

تاريخ المشاركة 02 February 2007 - 12:01 AM

السلام عليكم
بسم الله الرحمن الرحيم وبحمده
شكرا اخ موودي الحل لاغبار عليه ولكن اسمح لي التعقيب على جوابك للاسفادة فقط
يمكن تعيين المفتاح الغريب على مستوى العمودcolumn وعلى مستوى الجدول ويمكن اضافته بعد انشاء الجدول
أما على مستوى العمود فلا نذكر تعبيرForeign key وانما تكون العبارة كالآتي:
column_name col_type CONSTRAINT constrant_name REFERENCES table_name(col_name)

وهاك مثال عنها:

create table ward_requist
(requist_no number(6) not null primary key,
w_no number Constraint w_no_fk REFERENCES wards (w_no) ON DELETE CASCADE)
-----------------------------
أما على مستوى الجدول فهي الطريقة التي استخدمها الأخ موودي وذلك بذكر تعبير Foreign key
وتتميز أنها يمكن أن تدمج أكثر من عمود كمفتاح غريب
ملاحظة:يمكن تحديد اسم القيد كسابقتها بعبارة Constraint كمايلي:

create table ward_requist
(requist_no number(6) not null primary key,
w_no number,
CONSTRAINT w_no_fk FOREIGN KEY (w_no) REFERENCES wards (w_no) ON DELETE CASCADE)
----------------------------------------------
حيث من المفيد بعض الأحيان تحديد اسم القيد للاستخدام فيما بعد في التعطيل والتفعيل غير ذلك وان
لم تذكره أنت فان محرك أوراكل سيعطيه اسم من عنده