Я пытаюсь создать таблицу в Oracle SQL Developer, но я получаю ошибку ORA-00902.
Вот моя схема для создания таблицы
CREATE TABLE APPOINTMENT( Appointment NUMBER(8) NOT NULL, PatientID NUMBER(8) NOT NULL, DateOfVisit DATE NOT NULL, PhysioName VARCHAR2(50) NOT NULL, MassageOffered BOOLEAN NOT NULL, <-- the line giving the error --> CONSTRAINT APPOINTMENT_PK PRIMARY KEY (Appointment) );
Что я делаю не так?
заранее спасибо
Oracle не поддерживает boolean
тип данных на уровне схемы, хотя он поддерживается в блоках PL / SQL. По уровню схемы я имею в виду, что вы не можете создавать столбцы таблицы с типом в виде boolean
и вложенных типов таблиц записей с одним из столбцов в виде boolean
. У вас есть эта свобода в PL / SQL, хотя вы можете создать коллекцию типа записи с булевым столбцом.
В качестве обходного пути я бы предложил использовать тип CHAR(1 byte)
, так как для хранения вашего значения потребуется всего один байт, а не два байта для формата NUMBER
. Подробнее о типах и размерах данных читайте здесь в Oracle Docs.
Последнее, что я слышал, что в оракуле не было boolean
типа. Вместо этого используйте number(1)
!
Oracle не поддерживает логическое значение для типа столбца таблицы. Вероятно, вы должны использовать CHAR (1) (Y / N)
Вы можете узнать больше об этом другом ответе
я думаю, что у вас получилось менее хороший результат
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/datatypes.htm#CJACJGBG