こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
IRISに直接Insert文を発行する時と、JDBCを経由してInsert文を発行する時とで、
挙動差異があるように見受けれれまいたので、何かご存知な方がいらっしゃれば教えてください。
次の様なテーブルがあります。.png)
それに対してDBeaverとIRIS管理ポータルからInsertを実行します。
★DBeaver
.png)
★IRIS管理ポータル.png)
この後実際に作成されたグローバルの情報を確認すると、
『VARCHAR型』で作成したカラムに数値をInsertした際に、
実データの型が異なっていることがわかります。
DBeaver(JDBC) ➡ 文字列で登録
IRIS直 ➡ 数値で登録
.png)
個人的には『VARCHAR型』に数値が入ること自体がおかしいので、
DBeaverの方がまし(ホントは型違反とかになってほしい)と思うのですが、
この差異が何で発生するのか、また回避する方法をご存じな方がいらっしゃれば情報共有頂きたいです。
また、そもそもIRISはRDBを使っても型チェックが曖昧になるものなのかも気になっています。
さすがに数値のカラムに文字列を入れようとすると怒られるのですが、
上記の様な場合にチェックの仕組みが働かないのには違和感がありました。
.png)
.png)