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

استرجاع اسماء الاعمدة من Function واستخدامها داخل Select Statment


Youseffarraj

Recommended Posts

السلام عليكم و رحمة الله وبركاته , 

اخوتي الله يعطيكم العافية , 

 

لدي function يقوم باسترجاع اسماء اعمدة مشتركة بين جدولين ( الجدول  الاول : الاسماء هم اعمدة والجدول الثاني  اسماء الاعمدة موجودة ك table data )

وهذه هو كود الfunction ,

 

CREATE OR REPLACE FUNCTION GML.GML_GET_COLUMNS (P_PREFIX VARCHAR2)
   RETURN VARCHAR2
IS
   V_COLUMNS   VARCHAR2 (1000);
 
   CURSOR CUR_COLUMNS
   IS
      SELECT   COLUMN_NAME
        FROM   USER_TAB_COLUMNS
       WHERE   TABLE_NAME = 'GML_SCENARIOS'
               AND COLUMN_NAME IN
                        (SELECT   COLUMN_NAME
                           FROM   GML_FILE_COLUMNS
                          WHERE   UPPER (ROW_PREFIX) NOT IN
                                        ('A', 'T', 'S', 'C', 'PH', 'AD')
                                  AND UPPER (ROW_PREFIX) = P_PREFIX);
BEGIN
   FOR I IN CUR_COLUMNS
   LOOP
      V_COLUMNS := V_COLUMNS || ',' || I.COLUMN_NAME;
   END LOOP;
 
   RETURN V_COLUMNS;

 

 
END;
ال function يقوم باسترجاع اسماء الاعمدة بشكل صحيح لكن كيف الممكن استخدام النتيجة كأعمدة وليس text داخل جملة استعلام (select )؟؟
 
 
رابط هذا التعليق
شارك

لا يمكن إستخدام ال Execute Immediate  داخل الفورم..

 

وقد بحث على مثل هذا الإجراء ولم أسطتع سواء إستخدام جملة ال if وكتابة الselect يدوي , دون تمرير المتغيرات إلى جملة ال select ...

 

والله أعلم,,,

رابط هذا التعليق
شارك

لا يمكن إستخدام ال Execute Immediate  داخل الفورم..

 

وقد بحث على مثل هذا الإجراء ولم أسطتع سواء إستخدام جملة ال if وكتابة الselect يدوي , دون تمرير المتغيرات إلى جملة ال select ...

 

والله أعلم,,,

1- اتأكد انها مش بتستخدم فى الاصدار الى بتشتغل بيه لانه احتمال كبير فى الاصدارات الجديدة تكون بتفهمها لان الـ PL/SQL ENGINE اكيد اتغير.

2- يمكن انشاء DataBase Function ومنادتها من الفورمز.

تم تعديل بواسطة eslam elbyaly
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية