Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle 11g:Czy w PL/SQL jest jakiś sposób na uzyskanie informacji o wstawionych i zaktualizowanych wierszach po instrukcji MERGE DML?

Nie ma wbudowanego sposobu na uzyskanie oddzielnej liczby wstawek i aktualizacji, nie. SQL%ROWCOUNT powiedziałby ci liczbę połączonych wierszy, jak prawdopodobnie już wiesz, ale nie ma odpowiednika, aby uzyskać oddzielne wartości dla wstawek i aktualizacji.

Ten artykuł autorstwa Adriana Billingtona pokazuje sposób na uzyskanie informacji poprzez uwzględnienie wywołania funkcji w scaleniu, co może nieco zwiększyć obciążenie.

Istnieje podobna i być może prostsza sztuczka MichaelS na forach Oracle , za co oczywiście też nie mogę nic docenić. Mam ochotę odtworzyć to tutaj, ale nie jestem pewien, czy jest to dozwolone, ale zasadniczo używa sys_context do obsługi licznika, w taki sam sposób jak rozwiązanie Adriana zrobiło ze zmienną pakietową. Używałbym tego, ponieważ jest czystszy i myślę, że łatwiej go śledzić i konserwować.

Wciąż niebezpiecznie blisko odpowiedzi zawierającej tylko linki, ale nie chcę też plagiatu pracy innych osób...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw, jeśli nie istnieje Oracle

  2. Problem z parametrami w Oracle RefCursor

  3. Jak rozwiązać ORA-00937:nie funkcja pojedynczej grupy przy obliczaniu procentu?

  4. Optymalne zapytanie Oracle SQL do wykonania grupowania na wielu kolumnach w jednej tabeli zawierającej ~ 7.000.000 rekordów

  5. Skopiować wiersz i zmienić mały podzbiór kolumn?