通過SDE插入資料時Objectid生成策略

2021-09-02 02:52:57 字數 396 閱讀 6164

通過arcmap的編輯或匯入功能向空間表插入資料時,新插入記錄的objectid預設是自增的。但是通過sde sql向空間表中插入資料時,使用最大objectid+1作為新記錄的objectid就可能會導致,在arcmap中編輯資料時objectid重複。顯然空間表中objectid是通過乙個序列生成的,不能簡單通過最大objectid+1的方式生成。

解決:在sde10.1中,使用sde庫提供的函式sde.next_rowid(i_owner character varying, i_table_name character varying)生成當前記錄的objectid。經試驗函式sde.next_rowid生成objectid的策略和序列有所不同,但是使用函式sde.next_rowid能夠避免objectid重複的問題。

參考文章:

插入資料時更新時間

通常表中會有乙個create date 建立日期的字段,其它資料庫均有預設值的選項。mysql也有預設值timestamp,但在mysql中,不僅是插入就算是修改也會更新timestamp的值!這樣一來,就不是建立日期了,當作更新日期來使用比較好!因此在mysql中要記錄建立日期還得使用dateti...

SQL 插入資料時,遇上存在的資料

mysql中常用的三種插入資料的語句 insert into 表示插入資料,資料庫會檢查主鍵,如果出現重複會報錯 replace into 表示插入替換資料,需求表中有primarykey或者unique索引,如果資料庫已經存在資料,則用新資料替換,如果沒有資料效果則和insert into一樣 i...

不存在時才插入資料

最近在寫乙個專案,需要批量向資料庫插入資料 批處理 但是遇到乙個問題,如果某條資料已存在 主鍵相同 則全部插入都會失敗。所以,我需要找到乙個方法 如果資料不存在,就插入,否則就忽略。在網上找到一篇文章 文章介紹了兩種方法,第一種略顯複雜,且子查詢的效率也是個問題,而且子查詢中不能用limit 當然也...