PostgreSQLの配列
PostgreSQLはリレーショナルデータベースであり、OracleやMySQLと同様に広く利用されている。私は普段の業務で主にPostgreSQLを使用しているので、その関連知識をまとめてマスターする必要があり、まずはその順序をまとめます。
I. シーケンス シーケンス
シーケンスは、自動的に増加する数列で、通常、行やテーブルの一意な識別子として使用され、代理の主キーとして使用されます。
1. シーケンスの作成
例 最小値1、最大値9223372036854775807、循環ソート 1から始まり1ずつ増加するシーケンス、および1つのキャッシュを持つseq_commodityを作成します。
SQL文は以下の通りである。
CREATE SEQUENCE seq_commodity
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1
CYCLE; // Loop, start from the beginning after reaching the maximum value
2. Sequenceで値を探す
SELECT nextval('seq_commodity').
ここでnextvalは次の値を意味する
3. シーケンスの変更
alterシーケンスで変更する場合、start以外の全てのパラメータを変更することができます。
alterシーケンス(SQL文)の例
ALTER SEQUENCE seq_commodity
INCREMENT 10
MAXVALUE 10000
CYCLE
NOCACHE ;
もちろん、開始値を変更したい場合は、ドロップシーケンスで削除してから、再作成すればよい。
4. ドロップシークエンスの削除
DROP SEQUENCE seq_commodity;
5. 配列の割り当て戦略
call select nextval(seq_ commodity); 次のSequence番号を返した後、このSequence番号がユーザによって使用されているかどうかに関わらず、システムはユーザにSequence番号を優先的に割り当て、その直後にシステムのサブSequenceに設定したステップ(増分1)を加えたものを割り当てます。
select currval(seq_ commodity); の呼び出しは、現在のシーケンス番号を返す。この番号は、使用されない限り変化しない。また、現在のリクエストが常に使用されている場合、シーケンス番号はすでに現在のリクエストに割り当てられているので、他のリクエストに割り当てられることはない。
関連
-
親行が削除または更新できない: 外部キー制約に失敗 解決策
-
(NTDLL.DLL): 0xC0000005: アクセス違反 - 解決
-
ERROR 1046 (3D000)の解決策です。MySQLでアカウント削除時にデータベースが選択されない問題
-
解決策: テーブルの定義が正しくありません。
-
MySQLデータベースのクエリ機能を使用する際に、グループ関数の使用が無効である問題の解決方法
-
IEntityChangeTracker の複数のインスタンスからエンティティオブジェクトを参照できない場合の対処法
-
[Mac] sudo mongod コマンド、プロンプトコマンドが見つかりません。
-
は、GROUP BY句に含まれるか、集約関数で使用される必要があります。
-
ORA-06550 "の解決策。1 行目、7 列目"
-
MySqlエラー解析'where節'の未知の列'xxx'
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MYSQL "Access denied; you need (at least one of) SUPER privilege(s) for this operation" 問題解決
-
2021MySql-8.0.26インストール詳細チュートリアル(ベビーシッターレベル)
-
Hibernateでhibernate.propertiesが見つからない問題とデータベース方言の更新の問題
-
EF Exception Inquiry (エンティティオブジェクトは、IEntityChangeTrackerの複数のインスタンスから参照できません。)...
-
mongodbの更新操作の更新
-
MongoDBコマンド
-
ORA-65096 無効な共通ユーザー名またはロール名
-
DB2 SQL エラーの解決法。sqlcode=-420, sqlstate=22018
-
MySQL上級SQLステートメント
-
AttributeError: 'function' オブジェクトには 'cursor' という属性がありません。