獲取不同資料庫新增記錄主鍵值

技術小阿哥發表於2017-11-13
本文轉自 leizhimin 51CTO部落格,原文連結:xxxxxx,如需轉載請自行聯絡原作者獲取不同資料庫新增記錄主鍵值
 
資料庫  獲取新增主鍵值的SQL語句
DB2 INENTIY_VAL_LOCAL()
Informix SELECT dbinfo(`sqlca.sqlerrd1`) FROM <Table>
Sybase SELECT @@IDENTITY
SQL Server SELECT SCOPE_IDENTITY()或SELECT @@IDENTITY
MySQL SELECT LAST_INSERT_ID()
HsqlDB CALL IDENTITY()
Cloudscape IDENTITY_VAL_LOCAL()
Derby IDENTITY_VAL_LOCAL()
PostgreSQL SELECT nextval(`<Table>_SEQ`)
 
如果資料庫的併發量很高,那麼費Sequence方式通過上面獲取的最後插入記錄的主鍵值是不安全的。
 
 對於支援SEQUECE的資料庫,就不存在這樣的問題了。
 資料庫  SEQUECE值的獲取方法
Oracle select <SEQUENCE_NAME>.nextval from dual;
DB2 values nextval for <SEQUENCE_NAME>;
PostgreSQL select nextval(<SEQUENCE_NAME>);
 
 
 本文轉自 leizhimin 51CTO部落格,原文連結:http://blog.51cto.com/lavasoft/86857,如需轉載請自行聯絡原作者


相關文章