sql >> Databáze >  >> RDS >> Oracle

Přiřadit Select k proměnné v uložené proceduře

Musíte použít SELECT INTO . Také v PL/SQL nejsou žádné složené závorky musíte použít THEN a END IF . Nejsem si úplně jistý, co děláte s výsledkem. Chcete to vrátit? Pak potřebujete FUNCTION . Mělo by to vypadat nějak takto (netestováno):

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. PostgreSQL POPISUJTE TABULKU

  2. Vytvořit booleovský sloupec v MySQL s false jako výchozí hodnotou?

  3. mysql_real_escape_string a array_map vrátí prázdné řetězce?

  4. Jak mohu zkontrolovat řetězec unicode Pythonu, abych zjistil, že je *ve skutečnosti* správným Unicode?