Boolean дает неверный тип данных – Oracle

Я пытаюсь создать таблицу в 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