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

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

صورة
- - - - -

The Pl/sql Language Accepted .... In Clause?


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

#1 sarah_dev

sarah_dev

    عضو

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

تاريخ المشاركة 31 March 2010 - 05:46 AM

السلام عليكم اخواني


انا عملت هذا ال Function وانا متاكدة ان المشكلة في الشرط ، لانو لما اشيل الشرط كلو بيصير تمام


CREATE OR REPLACE FUNCTION  VALID_DEPTID(id number)  RETURN BOOLEAN IS

BEGIN IF (id in ( select distinct department_id from departments)) then return true;
else return false;
END IF;
END VALID_DEPTID ;




ياترى PL/SQL لا يتحمل the IN clause ،اذا نعم ايه البديل؟



الشكر الجزيل مسبقا


السلام عليكم

#2 أحمد جادو

أحمد جادو

    عضو نشط

  • الأعضــاء
  • 244 مشاركة
  • الاسم الأول:أحمد
  • اسم العائلة:جادو
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle Developer @ Alhasa Municipality

تاريخ المشاركة 31 March 2010 - 01:18 PM

جرب الكود بهذه الطريقة
حيث أن الشرط الموجود بالجملة الشرطية IF لا يجوز أن يكون بهذه الطريقة ،،، فهذه الطريقة هي جملة استعلام وليست شرط

CREATE OR REPLACE FUNCTION valid_deptid (ID NUMBER)
   RETURN BOOLEAN
IS
   dept   VARCHAR2 (1);
BEGIN
   SELECT COUNT (*)
	 INTO dept
	 FROM departments
	WHERE department_id = ID;

   IF dept != 0
   THEN
	  RETURN TRUE;
   ELSE
	  RETURN FALSE;
   END IF;
END valid_deptid;



أرجو أن تكون الإجابة وافية


- أحمد جادو -
Senior Oracle Developer
Alhasa
Municipality

Alhasa - Saudi Arabia


#3 sarah_dev

sarah_dev

    عضو

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

تاريخ المشاركة 31 March 2010 - 01:42 PM

السلام عليكم


شكرا جزيلا اخي أحمد جادو على ردك السريع ، ذاك ما كنت ابحث عنه


شكرا و بالتوفيق

تم التعديل بواسطة sarah_dev, 31 March 2010 - 01:42 PM.