अस्तित्व की जांच करने का प्रयास करें:
IF NOT EXISTS (SELECT * FROM dbo.Employee WHERE ID = @SomeID)
INSERT INTO dbo.Employee(Col1, ..., ColN)
VALUES(Val1, .., ValN)
ELSE
UPDATE dbo.Employee
SET Col1 = Val1, Col2 = Val2, ...., ColN = ValN
WHERE ID = @SomeID
आप इसे आसानी से एक संग्रहित प्रक्रिया में लपेट सकते हैं और बस उस संग्रहीत प्रक्रिया को बाहर से कॉल कर सकते हैं (उदाहरण के लिए प्रोग्रामिंग भाषा जैसे सी # या जो भी आप उपयोग कर रहे हैं)।
अपडेट करें: या तो आप इस पूरे कथन को केवल एक लंबी स्ट्रिंग में लिख सकते हैं (साध्य - लेकिन वास्तव में बहुत उपयोगी नहीं) - या आप इसे एक संग्रहीत प्रक्रिया में लपेट सकते हैं:
CREATE PROCEDURE dbo.InsertOrUpdateEmployee
@ID INT,
@Name VARCHAR(50),
@ItemName VARCHAR(50),
@ItemCatName VARCHAR(50),
@ItemQty DECIMAL(15,2)
AS BEGIN
IF NOT EXISTS (SELECT * FROM dbo.Table1 WHERE ID = @ID)
INSERT INTO dbo.Table1(ID, Name, ItemName, ItemCatName, ItemQty)
VALUES(@ID, @Name, @ItemName, @ItemCatName, @ItemQty)
ELSE
UPDATE dbo.Table1
SET Name = @Name,
ItemName = @ItemName,
ItemCatName = @ItemCatName,
ItemQty = @ItemQty
WHERE ID = @ID
END
और फिर बस उस संग्रहीत कार्यविधि को अपने ADO.NET कोड से कॉल करें