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

Can You Plz


hu8297da

Recommended Posts


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

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

انا عندي 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

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

بالنسبة لسؤال الــ 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;

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

بالنسبة لسؤال الــ 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;


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



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

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

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;

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

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;

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

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

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

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

×   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.

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

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

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