sql >> Database >  >> RDS >> Oracle

hoe waarde toe te wijzen aan variabele in expressie voor een PL/SQL-blok?

Naast het gebruik van de xor-truc in PL/SQL, kun je ook gewoon een SQL-statement gebruiken

DECLARE
  a number := 17;
  b number := 42;
BEGIN
  SELECT a, b
    INTO b, a
    FROM dual;
  dbms_output.put_line( 'a = ' || a );
  dbms_output.put_line( 'b = ' || b );
END;

die de twee variabelen verwisselt zonder een tijdelijke variabele te gebruiken

SQL> ed
Wrote file afiedt.buf

  1  DECLARE
  2    a number := 17;
  3    b number := 42;
  4  BEGIN
  5    SELECT a, b
  6      INTO b, a
  7      FROM dual;
  8    dbms_output.put_line( 'a = ' || a );
  9    dbms_output.put_line( 'b = ' || b );
 10* END;
SQL> /
a = 42
b = 17

PL/SQL procedure successfully completed.


  1. Hoe kan ik een volledige zoekindexquery schrijven die geen stopwoorden in aanmerking neemt?

  2. MySQL PHP PDO voorbereide verklaringen - prestatieproblemen versus beveiliging

  3. Gegroepeerde LIMIT in PostgreSQL:toon de eerste N rijen voor elke groep?

  4. hoe voer ik een functie van TOAD voor Oracle uit en bind ik het resultaat aan een gegevensraster?