こんにちは。
postgresでレコード数を意識した操作では、SELECT句のlimitが
思いつくのですが、DBのテーブルに登録できる最大行数を設定し、
最大行数を超えたらINSERTが強制的にできないようにする方法
に悩んでいますので、教えて下さい。
環境はredhat9+apache2+tomcat+Jsp+Java1.4+postgres7.2で開発・
保守をしています。
既にWebで公開されており、既に登録された企業の中から好きな企業
に会員として登録し以降その企業のサービスを受けるシステムです。
営業でのプレゼン兼貸出し用(デモ版)としてノートPCに構築する
ことになりました。
「デモ版」と言うことで、機能制限をかける方法として、
・登録できるレコード数を制限する
と方針になりました。
他に、Javaソースに制限機能を追加、.httpaccsessによる認証を
検討しましたが、これに決まった次第です。
すみませんが、ご教授の程お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「表の格納行数の上限を、行数で利用者が設定」といった機能は、殆どのRDBMSで持っていません。
要件が不明確なのですが、例えばシーケンスを使うか、自前で通番を付け、check制約で値の上限を設定してしまうといった方法も考えられます。
もし、削除が行われない前提なら、これだけで実装可能になります。
もし削除があるなら、次回格納時は、「欠番になっている最小の通番」を再利用するといった仕組みが必要になります。
以上は、「デモ版」ということなら、適用してもいいように思います。
No.1
- 回答日時:
postgresの仕様では『DBのテーブルに登録できる最大行数を設定』
なんてないんじゃないかな?
考えられる方法としてはInsert前に動くトリガー関数を定義して
その中でselect countしてエラーを返せばいいかなと思うけど。
アプリ側でそのエラー処理する必要があるね・・・。
ご回答ありがとうございます。
>postgresの仕様では『DBのテーブルに登録できる最大行数を設定』なんてないんじゃないかな?
やはりそうなのですか…
書籍やWebで検索しても「最大可能な行数」が殆どで悩んでいました。
>アプリ側でそのエラー処理する必要があるね・・・。
避けることはできませんか…。
検討してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 仕事術・業務効率化 使用中のソフトで、インボイス制度に対応する為の作業料が30万以上。普通? 4 2023/06/15 21:26
- 弁護士・行政書士・司法書士・社会保険労務士 司法試験合格者の司法書士試験の受験について 3 2022/08/31 16:40
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- その他(ニュース・時事問題) 「マイナポイント」の登録について 5 2022/12/12 22:36
- 公認会計士・税理士 公認会計士制度についてお教えください。 1 2022/06/01 17:25
- その他(IT・Webサービス) クロネコメンバーズの登録について質問です ①登録するには年齢制限があるのか ②営業所で登録可能とある 1 2023/06/05 16:08
- その他(SNS・コミュニケーションサービス) ぺアーズについて。アカウント登録ができないのですがBANされたのでしょうか? 2 2022/05/20 22:51
- 知的財産権 例のコンテンツを商標登録した人について 1 2022/05/15 20:30
- 弁護士・行政書士・司法書士・社会保険労務士 資格制度上の他資格の試験免除の撤廃について 4 2022/03/29 13:48
- 政治 次の某ジャーナリストが政党を立ち上げた場合の公約・マニフェストの内容をどう思うでしょうか 2 2022/05/18 23:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0の除算
-
constraint と index の違い
-
列が存在しないと言われる
-
副問い合わせ
-
インデックスの削除と、インデ...
-
動的に生成したカラムを使ったF...
-
アクセスクエリの計算
-
Excel 2019 のピボットテーブル...
-
Accessのリンクテーブルのパス...
-
DBのタイプの指定とサイズにつ...
-
IT用語について質問です。 以前...
-
accessでのフォームの連携について
-
「直需」の意味を教えてください
-
APN設定について教えていただけ...
-
BIOSでAHCIに設定したいが、項...
-
ACCESSでテーブルのフィールド...
-
Excelで空白以外の値がある列の...
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
accessでの請求管理について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
列が存在しないと言われる
-
PostgreSQLで表結合+DELETEしたい
-
0の除算
-
長いSQL文を実行するには?
-
alter tableすると、処理が止ま...
-
INSERTできるレコード数を制限...
-
constraint と index の違い
-
DBから日付順に指定件数の削除...
-
COPY時のtimestamp型について
-
動的に生成したカラムを使ったF...
-
Null値を無視してユニークにしたい
-
postgreSQLの日付を変数にする...
-
INSERTできない
-
DB2 「既存カラムへのnot null...
-
大量データを更新したら、処理...
-
SQLite:項目が存在しない場合の...
-
SQLで特定データがNULLなら別デ...
-
複数キーワードでのあいまい検索
-
powergres(postgres)にalter文...
-
DB2でUNIQUE制約を削除したい
おすすめ情報