Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przypisz Select do zmiennej w procedurze składowanej

Musisz użyć SELECT INTO . Również nie ma nawiasów klamrowych w PL/SQL musisz użyć THEN i END IF . Nie jestem do końca pewien, co zrobisz z wynikiem. Czy chcesz go oddać? Następnie potrzebujesz FUNCTION . Powinno to wyglądać mniej więcej tak (niesprawdzone):

create or replace
FUNCTION PCD_COMBAT (identifier_perso NUMBER, identifier_advers NUMBER) 
RETURN NUMBER
AS
  ATT_PERSO NUMBER;
  OFF_PERSO NUMBER;
  DEF_ADVERS NUMBER; 
BEGIN     
  SELECT OFFENSE_PERSO 
    INTO OFF_PERSO 
    FROM PERSONNAGE 
   WHERE ID_PERSO = identifier_perso;
  SELECT DEFENSE_ADVERSAIRE 
    INTO DEF_ADVERS 
    FROM PERSONNAGE 
   WHERE ID_ADVERSAIRE = identifier_advers;

  ATT_PERSO := OFF_PERSO - DEF_ADVERS;
  IF ATT_PERSO < 1 THEN 
     ATT_PERSO := 1;
  END IF

  RETURN ATT_PERSO;

END PCD_COMBAT;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PLS-00201 - identyfikator musi być zadeklarowany

  2. Wstaw plik tekstowy do Oracle za pomocą funkcji Bulk Insert

  3. Jak pobrać dane z dwóch kolumn w formacie A, B w Oracle?

  4. Zmień wstawioną wartość za pomocą wyzwalacza

  5. Jak utworzyć folder zip w plsql (Oracle)