mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-07-16 09:37:23 +00:00
41 lines
760 B
Transact-SQL
41 lines
760 B
Transact-SQL
CREATE
|
|
OR
|
|
ALTER PROCEDURE dbo.USP_CreateCity(
|
|
@CityName NVARCHAR(100),
|
|
@StateProvinceCode NVARCHAR(6)
|
|
)
|
|
AS
|
|
BEGIN
|
|
SET
|
|
NOCOUNT ON;
|
|
SET
|
|
XACT_ABORT ON;
|
|
|
|
BEGIN
|
|
TRANSACTION
|
|
DECLARE
|
|
@StateProvinceId UNIQUEIDENTIFIER = dbo.UDF_GetStateProvinceIdByCode(@StateProvinceCode);
|
|
IF
|
|
@StateProvinceId IS NULL
|
|
BEGIN
|
|
THROW
|
|
50001, 'State/province does not exist', 1;
|
|
END
|
|
|
|
IF
|
|
EXISTS (SELECT 1
|
|
FROM dbo.City
|
|
WHERE CityName = @CityName
|
|
AND StateProvinceID = @StateProvinceId)
|
|
BEGIN
|
|
|
|
THROW
|
|
50002, 'City already exists.', 1;
|
|
END
|
|
|
|
INSERT INTO dbo.City
|
|
(StateProvinceID, CityName)
|
|
VALUES (@StateProvinceId, @CityName);
|
|
COMMIT TRANSACTION
|
|
END;
|