-4
我不明白@@ Identity。這到底做了什麼?我有自己的標識規範設置爲Yes和身份增量設置爲1。我從數據庫程序員審查代碼,我發現下面的表格:SQL Server @@ Identity
DECLARE @CustomerID int,
INSERT INTO Customers
(Name, Login, Password, IsActive,)
VALUES('University', NULL, NULL, 1,)
SET @CustomerID = @@IDENTITY
但在插入後其他地方,她沒有包括@@IDENTITY
。例如: 在同一代碼她:
INSERT INTO Meters
(Name, Type, SiteID, CustomerAccountID)
SELECT Sites.Name + ' ' + Type, ID, ID, NULL
FROM Sites
CROSS JOIN MeterTypes
WHERE ProjectID = @ProjectID
AND tblMEP_MeterTypes.ID IN(1, 3, 13)
任何人能告訴我什麼時候使用@@IDENTITY
?我認爲它應該在每個插入語句的末尾。順便說一句,上表(客戶)有一個名爲ID的列,它是一個主鍵字段,不能爲空!這有效嗎?它不應該是這樣:
DECLARE @CustomerID int,
INSERT INTO Customers
(ID, Name, Login, Password, IsActive,)
VALUES(1, 'University', NULL, NULL, 1,)
SET @CustomerID = @@IDENTITY
這不是我的問題!我閱讀了這篇文章,並在網上看了一下,但我沒有得到任何答案。 –
爲什麼我們使用他們的地方,我們不在其他地方?我很抱歉,我知道這很煩人,但我發誓如果我知道我不會問。 –
假裝你從未聽說過@@ IDENTITY。當你需要時你應該使用SCOPE_IDENTITY。而你正在向後學習恕我直言 - 你不應該問「哦,這個函數名稱是什麼,我可以在什麼地方使用它?」你應該問「好吧,我有這種情況,我需要獲得表中生成的最後一個身份值,我應該使用哪個函數?」 –