我需要檢查在將數據實際插入表之前,該值是否具有適當的大小以插入特定列的表中。如何在將數據插入到sql for DB2中的表之前對列的值進行大小驗證?
例如,
想,我有一個表 'MyTable的' 在DB2 SMALLINT類型的列 'MYSMALLINT',
如果我嘗試插入值,
insert into MyTable(MYSMALLINT) values(12222222222222222222222222222225552);
在執行上述查詢後,我會得到以下錯誤:
消息:數字文字「122222222222222222222222222 22225552「因爲其值超出範圍而無效。
在這裏,我需要插入數據到表中的Java/JDBC用於與任何數據類型的列之前檢查的值大小(CHAR,VARCHAR,INT,BIGINT,TINYINT,DOUBLE,FLOAT, DECIMAL,REAL,...)。
爲什麼不試着插入,如果有異常,相應地處理它? – Linger
如果我正在執行批處理操作,它會在第100條記錄的第99條記錄時失敗,需要將該數據回滾到正確的位置,所以我不希望插入/回滾支持的開銷 –
@Manikanta_AC您不需要回滾這樣的例外。如果提交,則記錄1-98將被提交,並且記錄99根本不存在。 –