回覆列表
  • 1 # 使用者2458114238191884

    SqlServer中的自增的ID的最後的值:

    SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列內的最後一個 IDENTITY 值。

    SELECT @@IDENTITY --返回插入到當前會話中任何作用域內的最後一個 IDENTITY 列值

    SELECT IDENT_CURRENT("TbName")--不受作用域和會話的限制,而受限於指定的表。

    IDENT_CURRENT 返回為任何會話和作用域中的特定表所生成的值。

    一個作用域就是一個模組——儲存過程、觸發器、函式或批處理。因此,如果兩個語句處於同一個儲存過程、函式或批處理中,則它們位於相同的作用域中。

    對於馬上使用的剛才插入的新記錄ID用SCOPE_IDENTITY()是最合適的;

    對於想要得到一系列的操作中最後得到的那個自增的ID最好用@@IDENTITY;

    對於想要得到一個表中的最後一個插入操作所產生的ID的最好用IDENT_CURRENT("TBName")

    DECLARE @TMP_ID INT

    SET @TMP_ID = IDENT_CURRENT("BID_EvaluateItem")

    IF ((@TMP_ID IS NOT NULL) AND (@TMP_ID >0))

    BEGIN

    --其它的操作

    END

  • 中秋節和大豐收的關聯?
  • 人為什麼會有膝跳反應?