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

  • GitHub Previews Agentic AI in VS Code Copilot

    GitHub announced a raft of improvements to its Copilot AI in the Visual Studio Code editor, including a new "agent mode" in preview that lets developers use the AI technology to write code faster and more accurately.

  • Copilot Engineering in the Cloud with Azure and GitHub

    Who better to lead a full-day deep dive into this tech than two experts from GitHub, which introduced the original "AI pair programmer" and spawned the ubiquitous Copilot moniker?

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

Subscribe on YouTube

Upcoming Training Events