SQLServer的select @@identity在Oracle中的寫法

          SQLServer中做多表關聯操作的時候不知道大家有沒有用過一個方法“select @@identity”用來取當前插入記錄的ID,最近需要把代碼從SQLServer遷移到Oracle中遇到了這個問題。在Oracle中并不支持“select @@identity”這種寫法。那該怎么辦呢?下面我們就需要用到多功能的dual了。在Oracle中我們可以使用
          [code lang=”sql”]select sequence.currval from dual;
          來獲得序列sequence的當前值。

          知識擴展:關于dual表
          dual是一個虛擬表,用來構成select的語法規則,Oracle保證dual里面永遠只有一條記錄。我們可以用它來做很多事情,如下
          1、查看當前用戶,可以在 SQL Plus中執行下面語句
          [code lang=”sql”]select user from dual;

          2、用來調用系統函數
          [code lang=”sql”]select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;–獲得當前系統時間
          select SYS_CONTEXT(‘USERENV’,’TERMINAL’) from dual;–獲得主機名
          select SYS_CONTEXT(‘USERENV’,’language’) from dual;–獲得當前locale
          select dbms_random.random from dual;–獲得一個隨機數

          3、得到序列的下一個值或當前值,用下面語句
          [code lang=”sql”]select sequence.nextval from dual;–獲得序列sequence的下一個值
          select sequence.currval from dual;–獲得序列sequence的當前值

          4、可以用做計算器
          [code lang=”sql”]select 7*9 from dual;

          本博客所有文章如無特別注明均為原創

          如果覺得對你有幫助,可以通過下方打賞對作者表示鼓勵

          本文采用知識共享署名-非商業性使用-相同方式共享

          如若轉載,請注明出處:《SQLServer的select @@identity在Oracle中的寫法》http://www.solariosolutions.com/763.html

          (4)
          打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
          鋒哥的頭像鋒哥管理員
          上一篇 2014年2月17日 11:30
          下一篇 2014年2月24日 11:25

          相關推薦

          發表回復

          登錄后才能評論
          国产厨房乱子伦露脸,XXXXAAA欧美,日本 888 XXXX,国产欧美日韩一区二区图片