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

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

صورة
- - - - -

create view in procedure


3 رد (ردود) على هذا الموضوع

#1 qnoc_raed

qnoc_raed

    عضو

  • الأعضــاء
  • 14 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 January 2006 - 09:57 AM

السلام علييكم
هل من الممكن عمل
create or replace view
داخل البروسيجر او الفنكشن مثلا قمت بعمل التالي ولكن دائما يعطي خطا
create or replace view aa as
select e.empno,e.ename,d.dname from emp e,dept d where e.deptno = d.deptno;

الخطا دائما هو
encountered the symbol "create" when expecting one of the following degin declare ......
كيف يمكن حل هذا الخطا واذا انه غير ممكن كيف استطيع ان اعدل في الفيو من خلال البروسيجر بحيث اعيد بناءه حسب القيم التي تاخذها البروسيجر

وشكرا

#2 abdelhay

abdelhay

    عضو

  • الأعضــاء
  • 3 مشاركة

تاريخ المشاركة 23 January 2006 - 04:43 PM

You should specify the colums name of the view if a select statement is involved in you view

create or replace view aa ( employee_no , employee_name, department_name) as
select e.empno,e.ename,d.dname from emp e,dept d where e.deptno = d.deptno;

#3 motasem

motasem

    مشترك

  • الأعضــاء
  • 87 مشاركة
  • الاسم الأول:MHD. Moutasem
  • اسم العائلة:Shkeir
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle Developer

تاريخ المشاركة 24 January 2006 - 01:15 AM

you cant do ddl commands in functions or procedures, do that by using forms_ddl if you are executing from forms developer or use execute immediate 'your statment', or use dbms_sql package

#4 محمد1980

محمد1980

    عضو

  • الأعضــاء
  • 2 مشاركة

تاريخ المشاركة 25 January 2006 - 11:13 AM

أخي الكريم:
You have to use this command to execute any DDL command inside a procedure:
execute immediate('create or replace ...');