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

Generuj numer sekwencyjny w select

To zapytanie wygeneruje sekwencję 10 cyfry zaczynające się od 1001 i uzupełnione zerami.

select LPAD ( 1000 + LEVEL ,11,0 ) FROM DUAL CONNECT BY LEVEL <= 10;

wyjście

   id_column
   ------------
    00000001001
    00000001002
    00000001003
    00000001004
    00000001005
    00000001006
    00000001007
    00000001008
    00000001009
    00000001010

Jeśli potrzebujesz użyć takiej serii w select z innymi kolumnami tabeli, lepiej użyj rownum lub row_number zgodnie z sugestią Gordona.

Pytałeś,

To pochodzi z dokumentacji Oracle.

Więc miej nadzieję, że jest to jasne. Jeśli po prostu wstawiasz rekordy do pliku CSV z tabel Db i ten kod jest zapisany w kursorze, nie ma potrzeby przechodzenia z sekwencją. Ale potem znowu zależy to od tego, jak pobierasz z kursora, o którym mówisz. Jeśli możesz podać więcej szczegółów, możemy pomóc w skonstruowaniu wymaganych bloków zapytań/PL/SQL, jeśli takie istnieją.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zablokowane wywołanie niezdefiniowanej funkcji oci_connect() przy użyciu XAMPP

  2. Oracle:czy jest jakiś logiczny powód, aby nie używać wykonywania równoległego z podzapytaniami z listy SELECT?

  3. Oracle 12.2 — Zastąpienie funkcji NOPARTITION

  4. dynamiczna nazwa tabeli w kursorze

  5. Użyj Entity Framework w .net 4.0 z bazą danych Oracle — czy to możliwe?