Z Code

T-SQL | COMBINE UPDATE AND INSERT STATEMENTS

Listing 5. This procedure demonstrates a technique for combining an Insert statement and an Update statement into a single stored procedure.

CREATE PROCEDURE STDA.CustomersUpdate
	@CustomerID NCHAR(5),
	@CompanyName NVARCHAR(40),
	@ContactName NVARCHAR(30),
	@ContactTitle NVARCHAR(30),
	@Address NVARCHAR(60),
	@City NVARCHAR(15),
	@Region NVARCHAR(15),
	@PostalCode NVARCHAR(10),
	@Country NVARCHAR(15),
	@Phone NVARCHAR(24),
	@Fax NVARCHAR(24)
AS
	IF EXISTS (SELECT * FROM Customers 
	WHERE CustomerID = @CustomerID)
	BEGIN
		UPDATE Customers
		SET
			CompanyName = @CompanyName,
			ContactName = @ContactName,
			ContactTitle = @ContactTitle,
			Address = @Address,
			City = @City,
			Region = @Region,
			PostalCode = @PostalCode,
			Country = @Country,
			Phone = @Phone,
			Fax = @Fax
		WHERE CustomerID = @CustomerID
	END ELSE BEGIN
		INSERT INTO Customers
		(
			CustomerID, CompanyName, ContactTitle,
			Address, City, Region,
			PostalCode, Country, Phone,
			Fax
		) VALUES (
			@CustomerID, @CompanyName, @ContactTitle,
			@Address, @City, @Region,
			@PostalCode, @Country, @Phone,
			@Fax
		)	
	END 	
	RETURN @@ROWCOUNT

GO
test of miscellaneous
comments powered by Disqus

Featured

  • VS Code 1.127 Further Integrates Advanced Browser-AI Tech

    Microsoft's July 1 Visual Studio Code update continues a recent push to make the editor's integrated browser a more capable development surface -- and a more useful tool for AI agents.

  • Support Vector Regression with SGD Training Using C#

    Support vector regression can predict numeric values effectively, and this article shows how to implement and train a kernel SVR model in C# using stochastic sub-gradient descent.

  • New GitHub Switch Limits Repo Issue Creation to Collaborators Only

    After publicly touting pull request limits as a way to cut maintainer noise, GitHub is taking the same idea further with a new setting that lets repository admins restrict issue creation to collaborators only.

  • Uno Platform Helps Ship First Stable SkiaSharp 4.0 Release for 2D .NET Graphics

    SkiaSharp 4.148.0 is the first stable v4 release, bringing a newer Skia engine, API cleanup, performance work and a Microsoft-Uno co-maintenance model.

Subscribe on YouTube