كيف يمكنني إعادة تسمية جدول / نقل إلى مخطط مختلف في SQL DB2؟

StackOverflow https://stackoverflow.com//questions/20004146

  •  20-12-2019
  •  | 
  •  

سؤال

أحاول إعادة تسمية جدول في DB2 مثل

giveacodicetagpre.

ولكن الحصول على رسالة الخطأ التالية:

giveacodicetagpre.

ما هي المشكلة هنا .... أنا أستخدم بناء الجملة الدقيق من وثائق IBM Publib.

هل كانت مفيدة؟

المحلول

لا يمكنك تغيير مخطط كائن معين. يجب عليك إعادة إنشاء ذلك.

هناك طرق سابقة للقيام بذلك:

  • إذا كان لديك جدول واحد فقط، فيمكنك تصدير و استيراد / تحميل الجدول. إذا كنت تستخدم تنسيق IDX، فسيتم تضمين DDL في الملف الذي تم إنشاؤه. إذا كنت تستخدم تنسيق آخر، فقد تم إنشاء الجدول.
  • يمكنك إعادة إنشاء الجدول باستخدام:

    Create table schema2.mytable like schema1.mytable

  • يمكنك استخراج ddl مع DB2Look أداة

  • إذا كنت تقوم بتغيير اسم المخطط للحصول على مخطط معين، يمكنك استخدام admin_copy_schema

هذه الخياران الأخيران يقومان بإنشاء بنية الجدول فقط، ولا تزال بحاجة إلى استيراد البيانات. بعد إنشاء الجدول، تقوم بإدراج البيانات بطرق مختلفة:

  • إدراج مباشرة

    insert into schema2.mytable select * from schema1.mytable

  • عبر تحميل من المؤشر

  • عبر تحميل أو استيراد من ملف (الملف المصدر في الخطوة السابقة)

المشكلة هي العلاقات الخارجية، لأنها يجب إنشاؤها.

أخيرا، يمكنك إنشاء الاسم المستعار . إنه لأمر أسهل ولا يتعين عليك التعامل مع العلاقات.

نصائح أخرى

يمكنك بسهولة إعادة تسمية جدول مع هذا البيان:

giveacodicetagpre.

أنت لا تقوم بإعادة تسمية الجدول في المثال المقدم، فأنت تحاول الانتقال إلى مخطط مختلف، ليس الأمر نفسه.انظر إلى db2move أداة لهذا.

ماذا لو تركتها كما هي وإنشاء اسم مستعار باسم ومخطط جديد.

إعادة تسمية جدول يعني إعادة تسمية جدول داخل نفس المخطط. لإعادة تسمية مخطط آخر، DB2 استدعاء الاسم المستعار:

DB2 إنشاء الاسم المستعار ل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top