2016-04-10 17 views
0

上の無効なデータタイプ:ORACLE SQL - 私は、Oracleデータベース内のテーブルを設定しようとしていますし、私は、このコマンドを実行しようとすると<code>invalid data type</code>エラーを取得していますテーブル作成

CREATE TABLE Students (
StudentID NUMBER(8) NOT NULL, 
FirstName VARCHAR(25) NOT NULL, 
Surname VARCHAR(25) NOT NULL, 
Address VARCHAR(100) NOT NULL, 
Postcode VARCHAR(7) NOT NULL, 
DoB DATE NOT NULL, 
Gender VARCHAR(1) NOT NULL, 
StudentCategory VARCHAR(50), 
StudyType VARCHAR(20), 
Nationality VARCHAR(20), 
SmokerStatus BOOLEAN, 
SpecialNeeds VARCHAR(30), 
Comments VARCHAR(30), 
PlacedStatus BOOLEAN, 
CourseID NUMBER(6) NOT NULL, 
AdvisorOfStudies NUMBER(6) NOT NULL, 
NextOfKin NUMBER(8) NOT NULL 
); 

エラーメッセージによると、何かが「第1行から始まって」起こっています。つまり、実際のcreate文自体ではなく、データ辞書のいずれかであることを意味します。これがどのようにしてinvalid data typeエラーの原因となるのか分かりません。

誰かがこれを引き起こしている可能性があることを発見できれば、それは非常に感謝しています!

エラーの詳細:

エラーレポート - SQLエラー:ORA-00902:無効なデータ型 00902. 00000 - "無効なデータ型" *原因:
処置:

おかげで、 マーク

+1

** [Oracleデータベースのboolean型がありますか?](http://stackoverflow.com/questions/3726758/is-there-a-boolean-type-in​​-oracle-databases)** – lad2025

+0

私はこれと何か関係があると思っていましたが、オラクルのWebサイトには何が間違っているのかは特定されていませんでした。 @ lad2025 – marcuthh

+0

Oracle SQLリファレンス:「VARCHARデータ型を使用しないでください。代わりにVARCHAR2データ型を使用してください。VARCHARデータ型は現在のところ同義ですがVARCHAR2では、VARCHARデータ型は、可変長文字列に使用される別のデータ型として、異なる比較セマンティクスと比較して再定義されるようにスケジュールされています。 – EdStevens

答えて

3

SmokerStatusをBOOLEANからchar(1)に変更します。 Oracleにはboolean data typeがありません。この目的のためにchar(1)またはnumber(1)を使用する必要があります。

SmokerStatus char(1), 
関連する問題