sql >> Databasteknik >  >> RDS >> Oracle

Lösning för ORA-00997:olaglig användning av LONG datatyp

ORA-00997:olaglig användning av LONG datatyp

Det är en begränsning vid användning av LONG data typ. Du kan inte skapa en objekttyp med ett LONG-attribut.

SQL> CREATE TABLE t AS SELECT data_default FROM user_tab_cols;
CREATE TABLE t AS SELECT data_default FROM user_tab_cols
                         *
ERROR at line 1:
ORA-00997: illegal use of LONG datatype


SQL>

Alternativt kan du använda TO_LOB som en lösning. Vilket skulle konvertera det till CLOB-datatyp.

Till exempel,

SQL> CREATE TABLE t AS SELECT TO_LOB(data_default) data_default FROM user_tab_cols;

Table created.

SQL> desc t;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DATA_DEFAULT                                       CLOB

SQL>

Se fler exempel på lösningar här.



  1. LOG() Funktion i Oracle

  2. Hur räknar man antalet förekomster av en viss delsträng i en SQL-varchar?

  3. JSON_CONTAINS_PATH() Exempel i MySQL

  4. Kan IN-operatören använda LIKE-jokertecken (%) i Oracle?