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

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

صورة
- - - - -

هل استطيع كتابة الـ Function بالكود التالي


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

#1 أبو محمـد

أبو محمـد

    عضو

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

تاريخ المشاركة 05 December 2008 - 01:25 AM

السلام عليكم

هل استطيع كتابة كود FUNCTION بهذا الشكل
FUNCTION  GET_LAST_ID	(tb_name VARCHAR,tb_id VARCHAR) RETURN NUMBER
IS
LASTID NUMBER(4) := NULL;
BEGIN
SELECT NVL(MAX(tb_id),0) + 1 INTO LASTID FROM tb_name;
RETURN LASTID;

EXCEPTION
WHEN NO_DATA_FOUND THEN
	  RETURN 1;
WHEN OTHERS   THEN
	  RETURN 1;
END;


#2 MMA

MMA

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,019 مشاركة
  • الاسم الأول:Mostapha
  • اسم العائلة:Abd El-Salam
  • البـلـد: Country Flag
  • المنصب الحالي:المؤسسة المصرية لتبسيط العلوم - عضو مؤسس - مستشار تقني

تاريخ المشاركة 05 December 2008 - 10:34 AM

الأخ الكريم ، من المفضل أن تبحث بالمنتدي فستجد العديد من المشاركات التي تتحدث عن طلبك هذا ،

عموماً يمكنك ذلك عن طريق إستخدام Immediate كما يلي :

CREATE FUNCTION GET_LAST_ID(TABLE_NAME VARCHAR2, PK_NAME VARCHAR2) RETURN NUMBER
AS
   ID_RETURN  NUMBER;
BEGIN
   EXECUTE IMMEDIATE 'SELECT MAX(' || PK_NAME || ') FROM ' || TABLE_NAME INTO ID_RETURN;
   RETURN ID_RETURN;
EXCEPTION
   WHEN OTHERS THEN
	   RETURN 0;
END;
/

بالتوفيق

مهندس/ مصطفي محمود عبد السلام   
العضو المؤسس بالمؤسسة المصرية لتبسيط العلوم
والمستشار التقني

(برمجيات - نظم معلومات - شبكات)

.

 

( 01098570165 )

.

.

.

( MMA_Programmer@Yahoo.com )

 


#3 أبو محمـد

أبو محمـد

    عضو

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

تاريخ المشاركة 06 December 2008 - 12:15 AM

يعطيك العافية اخوي

ضبط الكود 100%.