SQL SERVER裡@@identity 的用法
@@identity的作用是返回最後插入的標識值,所以有很多朋友使用它來獲取插入資料後的識別符號。
但有一點是需要注意的,@@identity返回的是最後的識別符號,所以,要想正確的返回插入後的識別符號,那麼就必須保證,你想要的結果是最後的識別符號,否則就會隱藏bug。
仔細閱讀@@identity的註釋:
註釋
在一條 INSERT、SELECT INTO 或大容量複製語句完成後,@@IDENTITY 中包含此語句產生的最後的標識值。若此語句沒有影響任何有標識列的表,則 @@IDENTITY 返回 NULL。若插入了多個行,則會產生多個標識值,@@IDENTITY 返回最後產生的標識值。如果此語句激發一個或多個執行產生標識值的插入操作的觸發器,則語句執行後立即呼叫 @@IDENTITY 將返回由觸發器產生的最後的標識值。若 INSERT 或 SELECT INTO 語句失敗或大容量複製失敗,或事務被回滾,則 @@IDENTITY值不會還原為以前的設定。
在返回插入到表的 @@IDENTITY 列的最後一個值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函式類似。
@@IDENTITY 和 SCOPE_IDENTITY 將返回在當前會話的所有表中生成的最後一個標識值。但是,SCOPE_IDENTITY 只在當前作用域內返回值,而 @@IDENTITY 不限於特定的作用域。
相關推薦
SQL SERVER裡@@identity 的用法
@@identity的作用是返回最後插入的標識值,所以有很多朋友使用它來獲取插入資料後的識別符號。但有一點是需要注意的,@@identity返回的是最後的識別符號,所以,要想正確的返回插入後的識別符號,那麼就必須保證,你想要的結果是最後的識別符號,否則就會隱藏bug。仔細閱讀
sql server之exists用法
nbsp http ima 技術分享 mage .com .cn img bsp sql server之exists用法
SQL SERVER裡的鎖機制
表鎖 1:TABLOCK(表鎖) 保證其他程序只能讀取而不能修改資料。 select * from t_country with (TABLOCK) 2:TABLOCKX(排它表鎖) 防止其他程序讀取或修改表中的資料。 select * from t_coun
SQL Server 裡的資料行結構
感覺關於資料庫的 資料行結構 (data row/record structure) 這方面的內容國內的資料特別少,老師上課講到後,怎麼搜也搜不到,最後還是爬梯|=|子才搜到一些的,這裡對老師上課講的和網上看的做一個小總結。 文章目錄資料行結構行結構總覽行結構補
SQL Server裡查詢表結構命令
環境:SQL Server 2008 R2問題:查詢表結構命令 對MySQL和Oracle資料庫熟悉的朋友知道用desc就可以查詢一張表的結構,但是在SQL Server裡執行desc命令會報錯。 desc Student; --關鍵字 'desc' 附近有語法錯誤
解決SQL Server裡sp_helptext輸出格式錯行問題
use Master go if object_id('SP_SQL') is not null drop proc SP_SQL go /*******************************************************************
SQL Server裡的閂鎖介紹
在今天的文章裡我想談下SQL Server使用的更高階的,輕量級的同步物件:閂鎖(Latch)。閂鎖是SQL Server儲存引擎使用輕量級同步物件,用來保護多執行緒訪問記憶體內結構。文章的第1部分我會介紹SQL Server裡為什麼需要閂鎖,在第2部分我會給你介紹各個閂鎖型別,還有你如何能對它們進行故障排除
Sql Server 裡的向上取整、向下取整、四捨五入取整的例項!
==================================================== 【四捨五入取整擷取】 select round(54.56,0) ===================================================
SQL SERVER case的用法及例項
1. 官方釋義 計算條件表示式,並返回多個可能的結果表示式之一。 CASE 簡單表示式,它通過將表示式與一組簡單的表示式進行比較來確定結果。 CASE 搜尋表示式,它通過計算一組布林表示式來確定結果。 這兩種格式都支援可選的 ELSE 引數。 CASE
臨時表和表變數區別,SQL Server裡的檢視和臨時表在哪裡?
臨時表與永久表相似,但臨時表儲存在 tempdb 中,當不再使用時會自動刪除。 臨時表有兩種型別:本地和全域性。它們在名稱、可見性以及可用性上有區別。本地臨時表的名稱以單個數字元號 (#) 打頭;它們僅對當前的使用者連線是可見的;當用戶從 SQL Server 例項斷開連
行轉列:SQL SERVER PIVOT與用法解釋
在資料庫操作中,有些時候我們遇到需要實現“行轉列”的需求,例如一下的表為某店鋪的一週收入情況表: WEEK_INCOME(WEEK VARCHAR(10),INCOME DECIMAL) 我們先插入一些模擬資料: INSERT INTO WEEK_INCOME
在sql server裡怎麼用二進位制存圖片?包括office檔案等等
我建了一個表,怎麼把圖片存進去呀? 都說用二進位制存,怎麼存呀? 用byte[]型別存 FileStream fs;fs = File.OpenRead("c:/1.ico");byte[] temp = new byte[fs.Length];int count = (in
SQL SERVER裡給表,欄位添加註釋
-- 表加註釋 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'註釋內容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N
sql server 裡如何取得伺服器的日期和時間,並以自定義的格式插入資料庫?
使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 引數expression 是任何有效的 Microsoft® SQL Server™ 表示式。有關更多資訊,請參
sql server 系統函式用法例項
系統函式1.case when ... then ..else ..end(用於對條件進行測試) e.Select id,case when name='deepwishly' then '老大' el
在SQL Server裡檢視當前連線的線上使用者數
use master select loginame,count(0) from sysprocesses group by loginame order by count(0) desc select nt_username,count(0) from sysproce
Sql Server裡巧用Case將多行顯示的資料合併為一行顯示
轉載地址:http://www.cnblogs.com/kingthy/archive/2008/04/29/1175697.html 昨晚在CSDN論壇上看到有某個人問了類似這樣的一個問題,現有三個資料表,分別是學生表,課程表,成績表。它們的結構與樣例資料如下:學生表
SQL Server Check 約束用法詳解
一、定義: CHECK 約束用於限制列中的值的範圍。 如果對單個列定義 CHECK 約束,那麼該列只允許特定的值。 如果對一個表定義 CHECK 約束,那麼此約束會在特定的列中對值進行限制。 做資料庫,就必須要會寫約束。 運算
SQL Server裡的Split函式
ALTERFUNCTION dbo.f_splitSTR( @svarchar(8000), --要分拆的字串 @splitvarchar(10), --資料分隔符 @posint--取第幾個 )RETURNSvarchar(100) AS BEG
[SQL Server]TOP的用法
TOP 關鍵詞主要是規定返回資料的記錄條數,下面介紹幾種常用的使用方法: ①返回查出資料的前n條資料 SELECT TOP NUMBER COLUMN1,COLUMN2,COLUMN3 FROM TABLENAME SELECT TOP NUMBER * FROM TA