بتاريخ: 5 يونيو 200718 سنة comment_101581 كيف يمكن عمل كويرى لاظهار عدد الصفوف فى كل جداول اليوزر تقديم بلاغ
بتاريخ: 6 يونيو 200718 سنة كاتب الموضوع comment_101659 ايه يا جماعة 30 قراءة ولا رد واحد ليه تقديم بلاغ
بتاريخ: 7 يونيو 200718 سنة comment_101682 الحل:SELECT TABLE_NAME,COUNT(COLUMN_NAME)FROM USER_TAB_COLUMNSGROUP BY TABLE_NAME; تقديم بلاغ
بتاريخ: 7 يونيو 200718 سنة comment_101686 السلام عليكمإذا كان قصدك عدد الأعمدة فقد جاوبك الأخ sky informationأما إذا كان عدد السجلات فهي : DECLARE ROWC NUMBER; STMT VARCHAR2(200); BEGIN FOR crec IN (SELECT TNAME FROM TAB ) LOOP BEGIN STMT :='SELECT COUNT(*) FROM ' || crec.TNAME; EXECUTE IMMEDIATE STMT INTO ROWC; DBMS_OUTPUT.PUT_LINE(CREC.TNAME ||' ---------------->>> ' || TO_CHAR(ROWC)); END; END LOOP; END; / طبعا لا بد من جعل SERVEROUTPUT على ONبالتوفيق تقديم بلاغ
بتاريخ: 7 يونيو 200718 سنة comment_101714 اظن السؤال هدفه عرض بيانات كل الجداول بمعنى الاسماء والارقام وكل حاجة تقديم بلاغ
بتاريخ: 8 يونيو 200718 سنة comment_101779 مشكور أخي hassan978hmk على الجواب الممتاز لهذا السؤال لكن هل من الممكن أن تشرح معنى هذا الأمر الذي كتبته ؟ EXECUTE IMMEDIATE STMT INTO ROWC; تقديم بلاغ
بتاريخ: 9 يونيو 200718 سنة comment_101815 السلام عليكمتستخدم EXECUTE IMMEDIATE من أجل تنفيذ جمل SQL داخل PL/SQLوهي تستخدم بشكل خاص لتنفيذ جمل DDL التي لا يمكن تنفيذها داخل PL/SQL بمفردها على عكس DML التي يمكن تنفيذها بمفردها , ولكن هنا قمت باستخدامها لتنفيذ جملة SELECTبسبب أن المتغير في الجملة هو اسم الجدول .بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.