sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag använda en samling i en Oracle SQL-sats

Det du letar efter är table funktion:

CREATE OR REPLACE FUNCTION TESTFUNC01 RETURN VARCHAR2 AS 
  -- INT_LIST is declared globally as "TYPE INT_LIST IS TABLE OF INTEGER"
  MyList INT_LIST := INT_LIST();
  MyName VARCHAR2(512);
BEGIN
  MyList.Extend(3);
  MyList(1) := 1;
  MyList(2) := 2;
  MyList(3) := 3;

  SELECT Name INTO MyName
  FROM Item WHERE ItemId NOT IN (select * from table(MyList));
  RETURN MyName;
END TESTFUNC01;


  1. Enkel uppdateringssats så att alla rader tilldelas ett annat värde

  2. MySQL-frågan är smärtsamt långsam på stora data

  3. Problem kvarstår med en java.util.Date i MySql med Hibernate

  4. Fel:ORA-00907:höger parentes saknas