Youseffarraj بتاريخ: 26 نوفمبر 2017 تقديم بلاغ مشاركة بتاريخ: 26 نوفمبر 2017 السلام عليكم و رحمة الله وبركاته , اخوتي الله يعطيكم العافية , لدي 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 )؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 26 نوفمبر 2017 تقديم بلاغ مشاركة بتاريخ: 26 نوفمبر 2017 Read about "Execute Immediate". اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المبرمج الصاعد بتاريخ: 26 نوفمبر 2017 تقديم بلاغ مشاركة بتاريخ: 26 نوفمبر 2017 لا يمكن إستخدام ال Execute Immediate داخل الفورم.. وقد بحث على مثل هذا الإجراء ولم أسطتع سواء إستخدام جملة ال if وكتابة الselect يدوي , دون تمرير المتغيرات إلى جملة ال select ... والله أعلم,,, اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 27 نوفمبر 2017 تقديم بلاغ مشاركة بتاريخ: 27 نوفمبر 2017 (معدل) لا يمكن إستخدام ال Execute Immediate داخل الفورم.. وقد بحث على مثل هذا الإجراء ولم أسطتع سواء إستخدام جملة ال if وكتابة الselect يدوي , دون تمرير المتغيرات إلى جملة ال select ... والله أعلم,,, 1- اتأكد انها مش بتستخدم فى الاصدار الى بتشتغل بيه لانه احتمال كبير فى الاصدارات الجديدة تكون بتفهمها لان الـ PL/SQL ENGINE اكيد اتغير. 2- يمكن انشاء DataBase Function ومنادتها من الفورمز. تم تعديل 27 نوفمبر 2017 بواسطة eslam elbyaly اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.