sqlserver查詢出某個表當前自增字段的最新值

2021-08-09 14:10:05 字數 482 閱讀 3095

通常我們在設計表的時候,會加乙個排序字段,為的是方便資料的排序,比如上移、下移。如果在給資料表插入資料的時候,想要使這個欄位的預設值跟資料庫的主鍵(主鍵是自增長)一致的話,該怎麼弄呢?先插入,然後取出剛剛插入的資料的主鍵,然後對這行資料更新,將排序的值更新為主鍵的值?理論上這樣做也能實現,但是如果併發量大的情況這樣做就不划算了。這時候我們可以用到乙個sql的函式ident_current,如下:

insert into tab (a,b,c) values ('a','b',ident_current('tab'))

ident_current('tab') 取出的就是tab表的當前主鍵值.

值得注意的是在空表中呼叫 ident_current 函式時,此函式將返回 null。以上述sql為例,第一次插入的時候會給c欄位插入空值,所以我的做法是不直接執行插入操作,而是先去表中查詢最新的自增字段的值,如果值為null,則給c賦為1,如果不為null,再將ident_current('tab')插入

SQL SERVER中查詢某個表或某個索引是否存在

查詢某個表是否存在 在實際應用中可能需要刪除某個表,在刪除之前最好先判斷一下此表是否存在,以防止返回錯誤資訊。在sql server中可通過以下語句實現 if object id n 表名稱 n u is not null drop table 表名稱 注意,普通表和臨時表的使用差別 若希望刪除te...

sql server 查詢某個表的所有觸發器名稱

查出所有用到某個表的sql select from sysobjects where xtype tr select from sysobjects where xtype tr and parent obj object id 表名 xtype char 2 物件型別。可以是下列物件型別中的一種 ...

sql server 查詢某個表的所有觸發器名稱

查出所有用到某個表的sql select from sysobjects where xtype tr select from sysobjects where xtype tr and parent obj object id 表名 xtype char 2 物件型別。可以是下列物件型別中的一種 ...