sql >> Database >  >> RDS >> Oracle

Wijs een Select toe aan een variabele in een opgeslagen procedure

U moet SELECT INTO . gebruiken . Ook zijn er geen accolades in PL/SQL je moet THEN . gebruiken en END IF . Ik weet niet precies wat je met het resultaat doet. Wil je het teruggeven? Dan heb je een FUNCTION . nodig . Het zou er ongeveer zo uit moeten zien (niet getest):

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. SUM(NULL) begrijpen in MySQL

  2. Hoe te selecteren uit dynamische tabelnaam

  3. Toegang geweigerd bij het invoegen van een bestand in Sql Server 2012 FileTable met behulp van File.CreateFile op de ASP.NET-website

  4. Hibernate - Hoe kan ik de juiste toewijzing aan het type integer geven?