الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

اسم الجدول اوتوماتيك

Featured Replies

بتاريخ:

هل يمكن احضار الجدول اوتوماتيك واستخدامه في select بهذا الشكل

select * from table

حيث ان table هنا متغير اي انه يكون اي شي employees او job

لنخيل مثلا ان هناك cursor يقوم بقراءة كل الجداول في الاسكيمة

ففي هذه الحالة اريد كتابة لا اريد كتابة select * from employees بل اريد ان تتم كتابة اسم الجداول اوتوماتيك

بتاريخ:

حطها جوه execute immediate
على مستوى db

بتاريخ:
  • كاتب الموضوع

كيف سيكون شكل جملة select

بتاريخ:
  • كاتب الموضوع

المشكلة انه لو كتبت اي شي في جملة select غير موجوده في database يعطي error

بتاريخ:
  • كاتب الموضوع

لكي تتضح الامر اكثر هذا ما اريده

CREATE OR REPLACE PROCEDURE HRHR.tb_cl_vl (num_num IN NUMBER)
IS
n11 VARCHAR2 (500);

CURSOR c1
IS
SELECT table_name
FROM dba_tables
WHERE owner = 'HRHR';
BEGIN
OPEN c1;

LOOP
FETCH c1
INTO n11;

EXIT WHEN c1%NOTFOUND;

DECLARE
n_11 VARCHAR2 (500);

CURSOR c2
IS
SELECT column_name
FROM dba_tab_cols
WHERE table_name LIKE n11 AND column_name = num_num;
BEGIN
OPEN c2;

LOOP
FETCH c2
INTO n_11;

EXIT WHEN c2%NOTFOUND;

----------------------------------------
DECLARE
n_33 VARCHAR2 (500);

CURSOR c33
IS
SELECT COUNT (n_11)
FROM n11
WHERE n_11 = num_num;
BEGIN
OPEN c33;

LOOP
FETCH c33
INTO n_33;

EXIT WHEN c33%NOTFOUND;

INSERT INTO esam
(no1, no2
)
VALUES (n11, n_11
);

COMMIT;
END LOOP;

CLOSE c33;
END;
----------------------------------------
END LOOP;

CLOSE c2;
END;
END LOOP;

CLOSE c1;
-- COMMIT;
END;
/[يسار][/يسار]
الخطا هنا في جملة select

بتاريخ:

جرب هذا فى التود
declare
b number;
begin
EXECUTE IMMEDIATE'select 123 from '||:dual into b;
dbms_output.put_line(:);
end;

بتاريخ:

declare
b number;
begin EXECUTE IMMEDIATE'select 123 from '||:dual into b;
dbms_output.put_line(;
end;

بتاريخ:

اخى الكريم
الحل الذى تريده سهل وبسيط جدا - وهو جملة الاستعلام الاتية

SELECT 'SELECT * FROM ' || TABLE_NAME FROM USER_TABLES;

بتاريخ:

السلام عليكم
أخي الكريم جرب هذا التعديل على البروسيدور الذي قمت بانشاؤه
يمكنك هنا وضعه على اسكيما لايشترط ال sys

CREATE OR REPLACE PROCEDURE tb_cl_vl (num_num IN NUMBER) IS
n11 VARCHAR2 (500);
CURSOR c1 IS SELECT table_name FROM user_tables ;
BEGIN OPEN c1;
LOOP
FETCH c1 INTO n11; EXIT WHEN c1%NOTFOUND;
DECLARE
n_11 VARCHAR2 (500);
CURSOR c2 IS SELECT column_name  FROM user_tab_cols WHERE table_name LIKE n11 AND column_name = num_num;
BEGIN OPEN c2;
LOOP
FETCH c2 INTO n_11; EXIT WHEN c2%NOTFOUND;
----------------------------------------
DECLARE
n_33 VARCHAR2 (500);
CURSOR c33 IS SELECT COUNT (n_11) FROM user_tables where table_name like n11 and n_11 = num_num;
BEGIN OPEN c33;
LOOP
FETCH c33
INTO n_33; EXIT WHEN c33%NOTFOUND;
INSERT INTO esam (no1, no2) VALUES (n11, n_11);
COMMIT;
END LOOP;
CLOSE c33;
END;
----------------------------------------
END LOOP;
CLOSE c2;
END;
END LOOP;
CLOSE c1;
-- COMMIT;
END;




موفق

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.