יצירת פרוצדורה ב-PL\SQL

imitsu

New member
יצירת פרוצדורה ב-PL\SQL

שלום...
אני מנסה לייצר פרוצדורה שמביאה לי שורות מתוך טבלת מועסקים לפי שם תפקיד,
כדי שבסופו של דבר אוכל להציג את כל הנתונים האלה באיזו טבלה באפליקציה dot net פשוטה..

יש למישהו דוגמא נורמאלית איך אני עושה דבר כזה בPL\SQL..??

(וכן.. גיגלתי אבל שומדבר ממה שמצאתי בינתיים לא פתר את העניין..)

תודה מראש
 

imitsu

New member
אני רוצה להחזיר טבלה

המבנה שלה הוא נניח: עמודת ID, שם עובד,שם תפקיד, מספר מחלקה תאריך העסקה

אני רוצה להחזיר את כל השורות של עובדים שרשום להם מנהל (manager) בעמודת תפקיד..
 

זהר פלד

New member
אז הכל יושב בטבלה אחת? משהו כזה:

SELECT Id, Name, JobTitle, DeptNumber,HireDate
FROM Table
WHERE JobTitle = 'manager'
 

imitsu

New member
הבעיה שלי זה לא שאילתא

פרוצדורה בpl\sql זה הבעיה שלי...

זה מה שעשיתי בינתיים ולא עובד..
אם אתה יודע מה אני עושה לא בסדר אשמח להסברים!

create or replace procedure GetAllMngrs
is
cursor mng_cur is
select * from EMP e
where e.job = 'MANAGER';

mng_record mng_cur%ROWTYPE

BEGIN OPEN mng_cur;
LOOP
FETCH mng_cur INTO mng_record;
EXIT WHEN mng_cur%NOTFOUND;
DBMS_OUTPUT.put_line(mng_record);

END LOOP; -- IMPLICIT CLOSE OCCURS
END;

commit;
end GetAllMngrs;


אני תקוע בצורת החזרה של הנתונים.. (dbms.output.. נראה לי שאולי צריך לעשות את זה אחרת)
תודה מראש
 

stig2

New member
DBMS_OUTPUT

זאת בסה"כ הדפסה למסך.
כדי שזה באמת ידפיס, צריך לשים את SERVEROUTPUT על ON
מאיזה כלי אתה מריץ את זה? אם מ- SQLPLUS אז תריץ לפני הרצת הפרוצדורה את זה:

SET SERVETOUTPUT ON
 

imitsu

New member
אני לא מעוניין בהדפסה למסך

אלא שכל המידע בסופו של דבר יוצג בגריד באפליקצית C# כלשהי..

יכול להיות שאין כלל צורך ב-LOOP הזה שאני עושה?
או שיש צורך אבל צריך לעשות שם משהו אחר?

תודה שוב
 

stig2

New member
אז אתה לא בכיוון

כדי שהפרוצדורה תחזיר החוצה ערכים אתה צריך שיהיה לה פרמטר OUT כלשהו כדי שתוכל "לתפוס אותו" ולעשות איתו משהו.
נסה לקרוא על זה קצת חומר ברשת.
 
למעלה