Oracle
 sql >> база данни >  >> RDS >> Oracle

как да присвоя стойност на променлива в израз за PL/SQL блок?

В допълнение към използването на трика xor в PL/SQL, можете просто да използвате SQL израз

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;

който разменя двете променливи, без да използва временна променлива

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Чисто нова производствена база данни

  2. sql oracle - премахване на дублиращата се стойност

  3. приложението asp.net не се свързва с oracle 11g дори след инсталиране на oracle instant client за 11g

  4. Инсталиране на Oracle 9i Developer Suite 2.0 на Windows

  5. Вземете последния идентификатор на вмъкване с Oracle 11g, използвайки JDBC