allmaida بتاريخ: 24 أغسطس 2010 تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 السلام عليكمكيف الشباب بعد اذنكن بدي حدا يساعدني ...مطلوب مني بالشغل 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; / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
allmaida بتاريخ: 24 أغسطس 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 حلييييييييييييييتو لحالي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ammarcontrol بتاريخ: 24 أغسطس 2010 تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 اخي يوجد مشكله في الكود يضهر الخطأ التالي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ammarcontrol بتاريخ: 24 أغسطس 2010 تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 ممكن تقولي شنو الحل لو تسممح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ammarcontrol بتاريخ: 24 أغسطس 2010 تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 هذا الحل 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; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ammarcontrol بتاريخ: 24 أغسطس 2010 تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2010 و هذا الكود يعتبر اصح في حالة اذا كان الجدول موجود فيقوم بحذفه ثم انشائه 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; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.