سؤال

لقد قمت بإنشاء مرادف عام على النحو المقترح في سؤالي الآخر حول إنشاء عرض على مستوى النظام. بعد القول أنني قمت بإنشاء مرادف عام فردي من الرأي حتى لا أتصل بالاتصال بالمجال الفردي بعد الآن. مشكلتي الآن هي كيفية إنشاء نوع رئيسي من مرادف عام لالتقاط جميع المرادفات التي قمت بإنشائها مسبقا. إلى أي مدى يمكن استخدام بيان "ل" بيان "؟

مثال: في مستوى النظام، سأقوم بتشغيل استعلام لكل مجال يتم فيه إنشاء MyView: إنشاء أو استبدال Public Softmonic Domain1_myview for domain1.myview؛ إنشاء أو استبدال المرادف العامة Domain2_myview for domain2.myview؛ إنشاء أو استبدال Public Softmonic Domain3_myview for domain3.myview؛

ثم لدي 3 مرادف عام أعلاه.

ثم حاولت كتابة بيان (من اليأس - ليس كخبير) مثل الأعداء أدناه أن يكون لديك سيد ماستر واحد فقط ولكنه فشل: قم بإنشاء أو استبدال مرادف Public Master_MyView for (Select * من Domain1_myview Union Select * من domain2_myview Union all select * من domain3_myview) ؛

الخطأ في أعلاه: "ORA-00995: معرف مرادف مفقود أو غير صالح"

آمل أن يساعدني شخص ما في هذه المهمة. أتمنى لك نهارا سعيد.

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

المحلول

حاول إنشاء طريقة عرض تسمى Master_MyView أولا (قد تحتاج إلى التعامل مع الامتيازات هناك أيضا):

create view master_myview as select ...;

ثم قم بإنشاء مرادف عام لهذا العرض الجديد:

create or replace public synonym master_myview for <owner>.master_myview;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top