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

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

صورة
- - - - -

How To Write A Ddl Statements In Pl/sql


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

#1 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 09:08 AM

BEGIN -- creates a test table
EXECUTE IMMEDIATE ('
CREATE TABLE TEST(
T1 NUMBER,
T2 VARCHAR2(50) );
');
--truncate test
EXECUTE IMMEDIATE ('
TRUNCATE TABLE TEST;
');
--you also can insert data from other table
INSERT INTO TEST SELECT * FROM TEST_OLD; END;

صورة

#2 hanyfreedom

hanyfreedom

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

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 18 September 2008 - 10:06 AM

أخى الكريم \ ORA-2008

شكراً لمشاركتك ..... و لكن أنا لى نصيحة أخوية لك ...... و هى ان تجرب الاكواد على جهازك اولاً قبل وضعها بالمنتدى .

أنظر لهذه الصورة :-
ملف مرفق  err.PNG   15.26كيلو   32 عدد مرات التحميل
سترى ان خطاء حدث ..... و هذا خطاء متوقع لأنك بتعمل insert فى جدول لم يتم أنشائه بعد .
النقطة الثانية هى كتابة الكود نفسه ..... يجب ان تأخذ بالك من ان بعد عبارة ال Execute immediate تأتى فاصلة منقوطه كهذه ' و تنتهى بفصلة منقوطه مثل الاولى ثم هذه العلامة ; و عبارة ال DDL التى ستوضع بين الفصلتان يجب أن لا تنتهى بأى علامة .

يعنى مثلاً لو خدنا كودك كمثال ... و خلينا اول DDL فيه بس .... هيبقى ذى كده :-

BEGIN EXECUTE IMMEDIATE ('CREATE TABLE TEST(T1 NUMBER,T2 VARCHAR2(50) );');
END;
/

و ده طبعاً غلط ذى ما وضحت ، و الصحيح انك تكتب كده :-
BEGIN EXECUTE IMMEDIATE 'CREATE TABLE TEST(T1 NUMBER,T2 VARCHAR2(50))';
END;
/


أتمنى تكون الفكرة وضحت دلوقتى .... و أن تأخذ كلامى بصدر رحب .... ففى النهاية كلنا بنتشارك للحصول على المعلومة الصحيحة و المفيدة .

و بالتوفيق

#3 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 04:15 PM

مرحبا
طبعا ما رح يعمل INSERT انا عملت هيك على سبيل المثال, شي اكيد لازم يكون الجدول TEST_OLD موجود!!!!
اما عن ; يعني مش هالإشي العظيم اهم شي وصلت الفكرة....
وشكرا الك
صورة