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

Procedure ما نحل معي !


allmaida

Recommended Posts

السلام عليكم

كيف الشباب

بعد اذنكن بدي حدا يساعدني ...

مطلوب مني بالشغل procedure منمرقلو بارامترين اول واحد حيكون اسم ال table يللي حتنبنى جوا ال procedure هاد

والتاني حيكون رقم

وال table يللي حانشأو حيكون من حقلين اول واحد بدي ينطبع فيه الشكل التالي" num1 * num2" وبالحقل التاني النتيجة

علما ان num1 هو البارمتر التاني يللي مرقناه وال num2 هو رقم تسلسلي (عداد او هيك شي )

انا حليت كلشي تقريبا ... بس ما عم تزبط معي انو يطلع "*" بالخرج ... عم يطالعلي الناتج بالحقلين

هي حلي ...

بتمنى تساعدوني بسرعة

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;
/ 

رابط هذا التعليق
شارك

هذا الحل


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;

رابط هذا التعليق
شارك

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


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 := 'drop table ' || name;
Execute immediate lstr;  
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;  
exception
when others then
null;
End;

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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