本記事では、OceanBaseにおけるデータベース利用時のSQL作成に関する制限事項を説明します。
プライマリキーを持つテーブルは、以下のルールを満たす必要があります:
各データテーブルは、最大1つの主キーカラムの集合を持つことができます。
主キー値はNULLまたは空文字列にすることはできません。
主キーの値は変更できません。
主キーカラムの数は64列を超えてはなりません。
主キーデータの総長は16KBを超えてはなりません。
VARCHARまたはVARCHAR2型の列を作成する際は、列の最大長を指定する必要があり、少なくとも1バイト以上である必要があります。
NUMBERは可変長でありながら精度の高い数値型で、4~40バイトのストレージ容量を占用します。ゼロ、浮動小数点数、正の固定小数点数、負の固定小数点数を格納できます。NUMBER型はデータの正確性、汎用性、移植性に優れていますが、演算効率は浮動小数点型に比べてやや低くなります。
オブジェクト型のプロパティとメソッドの参照:
SQLステートメント内でオブジェクト型のプロパティやメソッドを参照するには、テーブルエイリアスを使用して完全修飾する必要があります。
パラメータを受け取らないメンバーメソッドを参照するには、空の括弧を指定する必要があります。
パーティション拡張テーブル名およびサブパーティション拡張テーブル名の使用には、以下の制限があります:
名前にリモートテーブルが含まれていないこと:パーティション拡張テーブル名およびサブパーティション拡張テーブル名には、データベースリンク、またはデータベースリンクを持つテーブルのシノニムを含めることはできません。
名前にシノニムが含まれていないこと:パーティションまたはサブパーティションの拡張名を指定するには、ベーステーブルを使用する必要があり、シノニム、ビュー、またはその他のオブジェクトは使用できません。
PARTITION FORおよびSUBPARTITION FOR句では、キーワードDEFAULT、MAXVALUE、またはpartition_key_valueまたはsubpartition_key_valueの値を指定するための束縛変数を指定することはできません。
PARTITIONおよびSUBPARTITION句では、パーティションまたはサブパーティション名に束縛変数を指定することはできません。
ごみ箱にあるオブジェクトに対しては、いかなる書き込み操作(DMLまたはDDL操作)も行うことができず、読み取り専用操作(SELECT)のみを実行できます。
SELECT...FOR UPDATE SKIP LOCKEDは、単一テーブルのクエリのみをサポートします。