4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OutSystems】AutoNumberは連続性が保証されない

Last updated at Posted at 2025-01-10

はじめに

OutSystemsでの開発において、エンティティを作成する際にAutonumber機能は非常に便利で利用する人も多いかと思います。
しかし、実際に使用してみて「あれ?」と思うことがあったため、その事象について紹介します。

動作環境

  • OutSystemsのバージョン 11
  • Oracle

事象

OutSystemsのAutonumberは、基本的に新しいレコードが作成されるたびに一意の番号を自動的に付与します。
しかし、実際にアプリケーションを運用していると、新規データの挿入時に番号が連続しない現象が発生しました。
下記の例では、下から順にレコードを挿入したにも関わらず、飛び飛びの番号が割り当てられてしまいました。

image.png

この現象についてOutSystemsのforumを確認したところ、Autonumberは一意性の保証されるが、連続性は保証されないとのことでした。

おわりに

Autonumberが連続しないという問題は、トランザクションのロールバックや並行処理、非同期処理の影響を受けるため、トランザクションの管理を適切に行うことで最小限に抑えることはできます。
ただし、OutSystemsの内部処理に依存している部分も多く、完全に回避することは難しいです。
そのため、登録順にレコードを表示したい場合などがある場合は、Autonumberを使用したIdでソートするのではなく、別の属性を用意して対応することが良さそうです。

参考記事

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?