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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

dynamic sql


لا توجد ردود على هذا الموضوع

#1 kamel220371

kamel220371

    عضو

  • الأعضــاء
  • 24 مشاركة
  • الاسم الأول:Kamal
  • اسم العائلة:KHELIFI
  • البـلـد: Country Flag
  • الاهتمامات:APPS DBA ORACLE
  • المنصب الحالي:APPS DBA ORACLE FOR ALGERIA TELECOM

تاريخ المشاركة 21 December 2005 - 07:05 PM

essalam this is my first participation in this famous web-sit ,
i'd like write with arabic language but my system doesn't recognized it
well, i want describe this method
forexample: select count(*) from emp
result only filed of this table 'EMP'
execute this line for some tables,
so, you need to create procedure or function for execute them,
but there is another method, here it is..


DECLARE
CURSOR cur_tab ( v_param1 varchar2 ) IS
SELECT table_name,column_name
FROM user_tab_columns
WHERE table_name IN (SELECT table_name FROM tabs)
AND column_name LIKE v_param1||'%' ;
SQL_ORDER VARCHAR2(400);
vl_param1 VARCHAR2(50):=('&1');
vl_param2 VARCHAR2(50):=('&2');
vl_count NUMBER;
BEGIN
OPEN cur_tab( v_param1 => vl_param1);
LOOP
FETCH cur_tab INTO vl_table,vl_column;
EXIT WHEN cur_tab%notfound;
SQL_ORDER := ' SELECT COUNT(*) FROM ' || vl_table || ' WHERE '||vl_column||'= '||''''||vl_param2||'''';
execute IMMEDIATE vl_ordre_sql INTO vl_count ;
dbms_output.put_line (vl_count);
END LOOP;
CLOSE cur_tab;
END
--------------------------------------------------------
this my e_mail
kamel220371@yahoo.fr
i'm here i can help you





;