मेरे लिए, ऐसा लगता है जैसे
- आपको प्रक्रियाओं को "रूपांतरित" करना चाहिए जो
STUDENT_ID
. के हर हिस्से की गणना करता है कार्यों . में- क्यों? क्योंकि - जैसा कि अभी है - प्रक्रियाओं में एक आउट पैरामीटर होना चाहिए ताकि वे जो गणना करते हैं उसे वापस कर सकें। और यह एक समारोह के अलावा और कुछ नहीं है
- उनमें से प्रत्येक को जानकारी के अंश दें
- परिणाम प्राप्त करें
- सम्मिलित करें परिणाम के टुकड़े अंतिम
STUDENT_ID
. में मान
कुछ इस तरह:
function f_name (par_name in varchar2) return varchar2 is
retval varchar2(20);
begin
retval := whatever code you have to find it
return retval;
end;
function f_surname (par_surname in varchar2) return varchar2 is
retval varchar2(20);
begin
retval := whatever code you have to find it
return retval;
end;
etc.
procedure student_id (par_surname in varchar2, par_name in varchar2, ...)
is
l_student_id varchar2(30);
begin
l_student_id := f_name (par_name) ||'-'||
f_surname(par_surname) ||'-'||
f_gender (par_gender) ||'-'||
...
f_state (par_state);
dbms_output.put_line('Student_ID is: ' || l_student_id);
end;
अंत में, चूंकि वे सभी कार्य और प्रक्रिया एक ही समस्या से निपटते हैं, उन सभी को एक पैकेज में रखना अच्छा होगा ।