sql >> Database >  >> RDS >> Oracle

Hoe schrijf je een PL/SQL-procedure met x invoerparameters en invoer/uitvoer van x parameters gecombineerd?

Voor mij lijkt het alsof

  • u moet procedures "converteren" die elk deel van de STUDENT_ID . berekenen in functies
    • Waarom? Omdat - zoals het nu is - procedures een OUT-parameter moeten hebben, zodat ze kunnen retourneren wat ze hebben berekend. En dat is niets anders dan een functie
  • geef aan elk van hen stukjes informatie
  • het resultaat krijgen
  • aaneenschakelen resultaatstukken in de laatste STUDENT_ID waarden

Zoiets als dit:

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;  

Ten slotte, aangezien al die functies en procedures hetzelfde probleem behandelen, zou het leuk zijn om ze allemaal in een pakket te stoppen .




  1. Vernieuwen van SQL Server-tabellen met minder onderbrekingen met behulp van Partition Switching

  2. (My)SQL volledige join met drie tabellen

  3. Hoe kan ik strikte sql_mode inschakelen in MySQL?

  4. het verstrekken van certificaten aan tomcat jndi verbinding met postgresql