sql >> Database teknologi >  >> RDS >> Oracle

Hvordan man skriver en PL/SQL-procedure med x inputparametre og input/output af x parametre kombineret

For mig ser det ud som om

  • du bør "konvertere" procedurer der beregner hver del af STUDENT_ID ind i funktioner
    • Hvorfor? Fordi - som det er nu - skal procedurer have en OUT-parameter, så de kan returnere det, de har beregnet. Og det er ikke andet end en funktion
  • giv oplysninger til hver af dem
  • få resultatet
  • sammenkæd resultatstykker til den endelige STUDENT_ID værdier

Noget som dette:

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;  

Endelig, da alle disse funktioner og procedurer beskæftiger sig med det samme problem, ville det være rart at lægge dem alle sammen i en pakke .




  1. Sum flere rækker datoforskel Mysql

  2. Tilføj IIS 7 AppPool-identiteter som SQL Server-logoner

  3. SQL BEGRÆNSNINGER

  4. HAProxy:Alle Severalnines ressourcer