私は、このエラーメッセージにSHORTINTEGER無効なデータ・タイプのSQL Developer
エラーレポートに直面しています
CREATE TABLE CARTECREDIT ( forfaitID INTEGER, nomForfait VARCHAR(13) NOT NULL , cout NUMBER(10,4), locationMax SHORTINTEGER NOT NULL, dureeMax SHORTINTEGER NOT NULL, PRIMARY KEY (forfaitID) );
SQL Developerで、このテーブルを作成しようとしているとして -
ORA-00902:無効なデータ型
00902. 00000 - "無効なデータ型"
*原因:
*アクション:
彼らが青
で強調表示していない。しかしドキュメントOracle Documentationに従ってSHORTINTEGER
が実数型である
私が間違って何をしましたように、SQL DeveloperはSHORTINTEGER
を認識していないようですか?
OracleでINTEGER、SMALLINTなどを使用することについての簡単なコメントです。データ型INTEGERの場合、Oracleは整数算術のハードウェア実装を使用すると考えています。 **それは**ではありません。宣言するデータ型に関係なく、Oracleはすべての算術演算にライブラリ関数を使用します。したがって、INTEGERを使用すると、NUMBERへのキャストが必要になり、INTEGERへのキャストが必要になるため、実際には効率的ではありません。この配置は、最適なものとはかなり離れています(オラクルは何を考えていましたか)。あなたのデータを整数にするには 'NUMBER(...、0)'を使い、制約をチェックしてください。 – mathguy