我有一個需求,我需要看看這個密鑰是否已經存在。如果它已經存在更新基於關鍵字的數據,則只需插入新數據。爲什麼這種行爲與int在SQL Server 2005中
,我採取的方法是
DECLARE @Tracking_Id INT
SELECT @Tracking_Id = Tracking_Id
FROM DOCUMENT_TRACKING
WHERE Secondary_Document_Id = @Secondary_Document_Id
AND primary_Document_Id = @Primary_Document_Id
IF (@Tracking_Id = 0)
BEGIN
INSERT INTO DOCUMENT_TRACKING
(
Primary_Document_Id,
Secondary_Document_Id,
Tracking_Result,
Comment,
Created_By,
Created_Dt,
Updated_By,
Updated_Dt
)
VALUES (
@Primary_Document_Id,
@Secondary_Document_Id,
@TrackingResult,
@Comments,
@User_ID,
GETDATE(),
@User_ID,
GETDATE()
)
END
ELSE
BEGIN
SELECT @Tracking_Id = Tracking_Id
FROM DOCUMENT_TRACKING
WHERE Secondary_Document_Id = @Secondary_Document_Id
AND primary_Document_Id = @Primary_Document_Id
UPDATE DOCUMENT_TRACKING
SET tracking_result = @TrackingResult,
Comment = @Comments,
Updated_By = @User_ID,
Updated_Dt = GETDATE()
WHERE Tracking_Id = @Tracking_Id
END
現在,當存在與我的數據庫狀態沒有行,要麼@Tracking_Id必須是0或「」或空,但它說明不了什麼,當我比較一下與任何這些事情。
我不想使用計數方法,然後比較0或更大。我如何處理這個scenerio。
沒有它不與isnull()一起使用。 – Rohit 2009-12-04 08:15:07