بتاريخ: 18 سبتمبر 200817 سنة comment_139134 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; تقديم بلاغ
بتاريخ: 18 سبتمبر 200817 سنة comment_139141 أخى الكريم \ ORA-2008شكراً لمشاركتك ..... و لكن أنا لى نصيحة أخوية لك ...... و هى ان تجرب الاكواد على جهازك اولاً قبل وضعها بالمنتدى .أنظر لهذه الصورة :-سترى ان خطاء حدث ..... و هذا خطاء متوقع لأنك بتعمل 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; / أتمنى تكون الفكرة وضحت دلوقتى .... و أن تأخذ كلامى بصدر رحب .... ففى النهاية كلنا بنتشارك للحصول على المعلومة الصحيحة و المفيدة .و بالتوفيق تقديم بلاغ
بتاريخ: 18 سبتمبر 200817 سنة كاتب الموضوع comment_139178 مرحباطبعا ما رح يعمل INSERT انا عملت هيك على سبيل المثال, شي اكيد لازم يكون الجدول TEST_OLD موجود!!!!اما عن ; يعني مش هالإشي العظيم اهم شي وصلت الفكرة....وشكرا الك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.