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

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

صورة
- - - - -

مشكله في الصلاحيات عند تنفيذ بروسيجر


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

#1 ammarcontrol

ammarcontrol

    عضو نشط

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

تاريخ المشاركة 24 August 2010 - 12:46 PM

السلام عليكم

شباب لدي بروسيجر التالي


Create or replace procedure proc (name in varchar2, num in number)
Is
f number :=num;
d number;
C number :=0;
s varchar2(20);
lstr long;
Begin
Lstr := 'create table ' || name || '(numbe varchar2(20) , gen number)';
Execute immediate lstr;
While c<10
Loop
s:=c||'*'||f;
d:=c*f;

execute immediate 'insert into '||name||' values ('||s||' , '||d||')';
c:=c+1;
End loop;
End;
/


عند التنفيذ تضهر الرساله التاليه
صورة
ارجو منكم توضيح سبب المشكله

#2 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 24 August 2010 - 02:22 PM

السلام عليكم .
اخى الكريم
استخدم هذا الامر
GRANT create CREATE ANY table

TO ammar;
انا عارف ان اليوزر ممكن يكون عندو صلاحيه انشاء اليوزر يكون عندو صلاحيه انشاء الجدوال .لكان دينماك pl عشان تسخدمو لتنفيذ ddl
( Execute immediate)
لازم تعطى الصلاحيه بصيغه دى
بالتوفيق.

تم التعديل بواسطة mostfa_future, 24 August 2010 - 02:24 PM.

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#3 ammarcontrol

ammarcontrol

    عضو نشط

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

تاريخ المشاركة 24 August 2010 - 04:07 PM

جزيل الشكر
استغلت معاي