Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00997 illegal use of LONG datatype / 15 сообщений из 15, страница 1 из 1
19.06.2019, 19:00
    #39828543
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Код: plaintext
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 

Код: plsql
1.
2.
3.
4.
5.
6.
create table table1 
(
ID  NUMBER GENERATED BY DEFAULT AS IDENTITY,
L   LONG) 

create table table2 as select * from table1



Код: plaintext
ORA-00997: illegal use of LONG datatype

Код: plsql
1.
2.
3.
4.
5.
6.
create table table2
(
ID  NUMBER GENERATED BY DEFAULT AS IDENTITY,
L   LONG) 

insert into table2 select * from table1



Код: plaintext
ORA-00997: illegal use of LONG datatype

Как? Почему? Зачем?
Что делать и кто виноват.
...
Рейтинг: 0 / 0
19.06.2019, 19:09
    #39828546
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF0021 LONG Data Type

Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB, BLOB) instead. LONG columns are supported only for backward compatibility.

...

Oracle also recommends that you convert existing LONG columns to LOB columns . LOB columns are subject to far fewer restrictions than LONG columns. Further, LOB functionality is enhanced in every release, whereas LONG functionality has been static for several releases. See the modify_col_properties clause of ALTER TABLE and TO_LOB for more information on converting LONG columns to LOB.

You can reference LONG columns in SQL statements in these places:

SELECT lists

SET clauses of UPDATE statements

VALUES clauses of INSERT statements

The use of LONG values is subject to these restrictions:

A table can contain only one LONG column.

You cannot create an object type with a LONG attribute.

LONG columns cannot appear in WHERE clauses or in integrity constraints (except that they can appear in NULL and NOT NULL constraints).

LONG columns cannot be indexed.

LONG data cannot be specified in regular expressions.

A stored function cannot return a LONG value.

You can declare a variable or argument of a PL/SQL program unit using the LONG data type. However, you cannot then call the program unit from SQL.

Within a single SQL statement, all LONG columns, updated tables, and locked tables must be located on the same database.

LONG and LONG RAW columns cannot be used in distributed SQL statements and cannot be replicated.

If a table has both LONG and LOB columns, then you cannot bind more than 4000 bytes of data to both the LONG and LOB columns in the same SQL statement. However, you can bind more than 4000 bytes of data to either the LONG or the LOB column.

In addition, LONG columns cannot appear in these parts of SQL statements:

GROUP BY clauses, ORDER BY clauses, or CONNECT BY clauses or with the DISTINCT operator in SELECT statements

The UNIQUE operator of a SELECT statement

The column list of a CREATE CLUSTER statement

The CLUSTER clause of a CREATE MATERIALIZED VIEW statement

SQL built-in functions, expressions, or conditions

SELECT lists of queries containing GROUP BY clauses

SELECT lists of subqueries or queries combined by the UNION, INTERSECT, or MINUS set operators

SELECT lists of CREATE TABLE ... AS SELECT statements

ALTER TABLE ... MOVE statements

SELECT lists in subqueries in INSERT statements

Triggers can use the LONG data type in the following manner:

A SQL statement within a trigger can insert data into a LONG column.

If data from a LONG column can be converted to a constrained data type (such as CHAR and VARCHAR2), then a LONG column can be referenced in a SQL statement within a trigger.

Variables in triggers cannot be declared using the LONG data type.

:NEW and :OLD cannot be used with LONG columns.

You can use Oracle Call Interface functions to retrieve a portion of a LONG value from the database.
...
Рейтинг: 0 / 0
19.06.2019, 20:31
    #39828559
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
andrey_anonymous,

Спасибо. А то было желание сделать поля "как раньше". Желание прошло.
...
Рейтинг: 0 / 0
19.06.2019, 23:27
    #39828591
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor CookinСпасибо. А то было желание сделать поля "как раньше". Желание прошло.Умения самостоятельно полистать документацию совсем нет? Или чукча не читатель?
...
Рейтинг: 0 / 0
26.06.2019, 20:04
    #39830869
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Elic,

никогда в жизни ничего не листал, даже в 80-х уже были микрофильмы
...
Рейтинг: 0 / 0
26.06.2019, 20:49
    #39830885
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor Cookinникогда в жизни ничего не листал

Не верю ( C )

Victor Cookin, даже в 80-х уже были микрофильмы
в Самаре, в школах учебники тоже в микрофильмах выдаются?
какой продвинутый город!

и газеты в микрофильмах? прям аж с 80-х?
...
Рейтинг: 0 / 0
26.06.2019, 21:07
    #39830896
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor Cookinдаже в 80-х уже были микрофильмы

Ты часом микрофильмы с диафильмами не попутал? Да, первые микрофильмы я увидел в 80-х. Коды VAX/VMS и других DECовских продуктов добытые доблестными совковыми офицерами плаща и кинжала. Их нам первый отдел выдавал для просмотра в спец. комнате.

SY.
...
Рейтинг: 0 / 0
27.06.2019, 05:42
    #39830928
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Микрофиши были, а не микрофильмы.
И очень не массово - я, например, читал про "устройство и преимущества" в научно-популярном журнале ("Наука и жизнь"), но в реальной жизни не сталкивался.
...
Рейтинг: 0 / 0
27.06.2019, 07:56
    #39830947
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor Cookinникогда в жизни ничего не листал, даже в 80-х уже были микрофильмыТакой самовлюблённый из себя тормозной дурак...
...
Рейтинг: 0 / 0
27.06.2019, 12:54
    #39831097
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor Cookin,

в древней версии експортнуть табличку с лонг,
импортнуть в 12-ку тоже не даст?

.....
stax
...
Рейтинг: 0 / 0
27.06.2019, 13:39
    #39831134
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Staxв древней версии експортнуть табличку с лонгзачем?
...
Рейтинг: 0 / 0
27.06.2019, 21:22
    #39831402
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Stax,

старый код работает, кто ж мне ( к тому ж самовлюблённому дураку:) его править даст?
...
Рейтинг: 0 / 0
27.06.2019, 21:23
    #39831403
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Stax,
к тому ж это всё наверно можно сделать и в Оракле, никуда не экспортируя
...
Рейтинг: 0 / 0
27.06.2019, 21:49
    #39831414
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Victor Cookinэто всё наверно можно сделать и в Оракле, никуда не экспортируя

Более того, почти наверняка это можно делать и не создавая новых таблиц или других
объектов в базе. Но тут программист нужен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.06.2019, 17:52
    #39831751
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ORA-00997 illegal use of LONG datatype
Dimitry Sibiryakov,

и не просто программист, но с особым талантом делать работу, о которой никто не просит.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00997 illegal use of LONG datatype / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]