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

Oracle sqlldr:kolumna nie jest tutaj dozwolona

BLANKS jest słowem kluczowym SQL*Loader, a nie czymś, czego można użyć w decode Instrukcja SQL - traktuje ją jak nazwę kolumny. Jeśli naprawdę jest to pusty (o zerowej długości) ciąg, jak może być w przypadku pliku rozdzielanego, w decode możesz użyć '' zamiast BLANKS; ale Oracle i tak traktuje to jako null. W takim przypadku decode powinien być nadmiarowy i możesz po prostu użyć NULLIF tak jak w przypadku innych kolumn. Jeśli 'pusty' ciąg zawiera w rzeczywistości jedną lub więcej spacji, możesz zrobić coś takiego jak decode(TRIM(:PRIORITY),'',NULL,'\\N',NULL,:PRIORITY) . (Będziesz potrzebował końcowej klauzuli domyślnej dla decode w każdym razie lub wszystkie wartości osiągną wartość null.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL:Użyj sekwencji we wstawce z instrukcją Select

  2. Dlaczego w tym zapytaniu nie jest używany indeks?

  3. Encja Oracle w ramach encji VS nie aktualizuje klucza podstawowego w kodzie

  4. Łączenie liczb w wyrażeniu kolumny wirtualnej powoduje wyświetlenie ORA-12899:wartość za duża dla kolumny

  5. WSTAW i AKTUALIZUJ rekord za pomocą kursorów w oracle