sql >> Databasteknik >  >> RDS >> Oracle

hur tilldelar man värde till variabel i uttryck för ett PL/SQL-block?

Förutom att använda xor-tricket i PL/SQL kan du helt enkelt använda en SQL-sats

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;

som byter ut de två variablerna utan att använda en tempvariabel

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. Välj varje månad även om månaden inte finns i mysql-tabellen

  2. Hur ansluter jag till MySQL-databas från en annan dator online? VB.NET

  3. Skapa en främmande nyckel i SQLite

  4. Sqlalchemy med postgres. Försök att få "DISTINCT ON" istället för "DISTINCT"