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

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

صورة
- - - - -

Can You Plz


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

#1 hu8297da

hu8297da

    عضو

  • الأعضــاء
  • 10 مشاركة
  • الاسم الأول:Huda
  • اسم العائلة:Mohammaed
  • البـلـد: Country Flag
  • الاهتمامات:programming
  • المنصب الحالي:System Analysis

تاريخ المشاركة 17 September 2008 - 02:08 PM


السلام عليكم ورحمة الله

انا عندي شوي استفسارات بصراحع

انا عندي command
select * from user_procedures

فهل عندي command for backage to display how it's create

-------------------------------------------------------------------------------------

also i have this Q??

CREATE OR REPLACE PACKAGE ---NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER;
PROCEDURE DEP_DEPT (P_DEPTNO NUMBER);
END;

-------------------------------------------------------

CREATE OR REPLACE PACKAGE BODY --- NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER
IS
BEGIN






END;

PROCEDURE DEP_DEPT (P_DEPTNO NUMBER)
IS
BEGIN
SELECT NVL(COUNT(DEPTNO)) FROM EMP
WHERE DEPTNO = P_DEPTNO;
COMMIT;


AFTER THIS IT MUST SHOW 2 MSG
1- IF IT DELETED FROM THE TABLE
1 ROW DELETED
2 CAN NOT DELETED--- THERE IS DATA

لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ

#2 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 08:26 AM

مرحبا
بامكانك تستخدم الأمر التالي:
select * from user_source
where type='PACKAGE';
---------------------------------------------------
صورة

#3 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 08:32 AM

بالنسبة لسؤال الــ PACKAGE انا مش فاهم انت شوبدك منه, اذا كان بدك تعرف كم سجل انحذف اكتب بعد جملة الــ DELETE
SQL%ROWCOUNT;
---------------------------
و اما عن جملة الـ SELECT بدون INTO IN PL/SQL فهي غلط!!
_________________________________________________
CREATE OR REPLACE PACKAGE ---NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER;
PROCEDURE DEP_DEPT (P_DEPTNO NUMBER);
END;

-------------------------------------------------------

CREATE OR REPLACE PACKAGE BODY --- NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER
IS
BEGIN NULL;
END;

PROCEDURE DEP_DEPT (P_DEPTNO NUMBER,MSG OUT VARCHAR2)
IS
BEGIN /*SELECT NVL(COUNT(DEPTNO)) FROM EMP WHERE DEPTNO = P_DEPTNO;*/
DELETE FROM EMP WHERE DEPTNO=P_DEPTNO;
MSG:=SQL%ROWCOUNT;
COMMIT;
END;

صورة

#4 hu8297da

hu8297da

    عضو

  • الأعضــاء
  • 10 مشاركة
  • الاسم الأول:Huda
  • اسم العائلة:Mohammaed
  • البـلـد: Country Flag
  • الاهتمامات:programming
  • المنصب الحالي:System Analysis

تاريخ المشاركة 18 September 2008 - 01:44 PM

بالنسبة لسؤال الــ PACKAGE انا مش فاهم انت شوبدك منه, اذا كان بدك تعرف كم سجل انحذف اكتب بعد جملة الــ DELETE
SQL%ROWCOUNT;
---------------------------
و اما عن جملة الـ SELECT بدون INTO IN PL/SQL فهي غلط!!
_________________________________________________

CREATE OR REPLACE PACKAGE ---NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER;
PROCEDURE DEP_DEPT (P_DEPTNO NUMBER);
END;
هذا البكج شبفكيشن
-------------------------------------------------------

CREATE OR REPLACE PACKAGE BODY --- NAME
IS
FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER
IS
BEGIN هنا ايش المفروض اكتب عشان يحسب لي الماكس لمن اجي انادي الفنكشن
يعني
عندي الارقام التاليه 1-2-3 الماكس اللي فيهم هو 3 في عندي حل
اني اعرف فاريبل
x = number
y number
x number
if x< y and z then return x
elsif y < x and z then return y
elsif z< x and y then retuen z
elsif z = y or z=x or x=y return null

بس في جمله ثانيه حابه اعرفها
END;

PROCEDURE DEP_DEPT (P_DEPTNO NUMBER,MSG OUT VARCHAR2)
IS
BEGIN /*SELECT NVL(COUNT(DEPTNO)) FROM EMP WHERE DEPTNO = P_DEPTNO;*/
DELETE FROM EMP WHERE DEPTNO=P_DEPTNO;
MSG:=SQL%ROWCOUNT;
COMMIT;
END;

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



--------------------------------------------

شكرا
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ

#5 hu8297da

hu8297da

    عضو

  • الأعضــاء
  • 10 مشاركة
  • الاسم الأول:Huda
  • اسم العائلة:Mohammaed
  • البـلـد: Country Flag
  • الاهتمامات:programming
  • المنصب الحالي:System Analysis

تاريخ المشاركة 18 September 2008 - 01:54 PM

IN SAMPLE WAY

HOW I CAN CREATE MAX FUNCTION
AND DELETE PROCEDURE
AND BUT BOTH THEM IN PACKAGE
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ
لّا إِلَهَ إِلاَّ أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينَ

#6 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 03:43 PM

FUNCTION MAX_NO (P1 NUMBER, P2 NUMBER, P3 NUMBER) RETURN NUMBER
IS
V_MAX NUMBER;
BEGIN ---------------------[MAX]-----------------------
SELECT MAX(NUM) INTO V_MAX FROM
(
SELECT P1 AS NUM FROM DUAL UNION
SELECT P2 FROM DUAL UNION
SELECT P3 FROM DUAL
);
RETURN V_MAX;
END;

صورة

#7 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 04:00 PM

PROCEDURE DEP_DEPT(P_DEPTNO NUMBER, MSG OUT VARCHAR2) IS
DECLARE V NUMBER;
BEGIN /*اذا كان ما في موظفين في الدائرة فهي رح تنحذف*/
DELETE FROM DEPT A
WHERE NOT EXISTS (SELECT 1 FROM EMP B WHERE B.DEPTNO = A.DEPTNO) AND DEPTNO = P_DEPTNO;
V := SQL%ROWCOUNT;
IF V = 0 THEN
MSG := 'THERE IS EMPLOYEES IN THIS DEPARTMENT[ ' || P_DEPTNO || ' ]';
ELSE
COMMIT;
MSG := 'DEPARTMENT[ ' || P_DEPTNO || ' ] SUCCESSFULLY DELETED...';
END IF;
END;

صورة

#8 ORA-2008

ORA-2008

    مشترك

  • الأعضــاء
  • 192 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:FLY 4 EVER
    http://www.i3lani.co.cc

تاريخ المشاركة 18 September 2008 - 04:03 PM

ارجو انه انحلت المشكلة
كل اللي عليك انك تحطهم في الـ PACKAGE وانشالله امورك تمام...
صورة