mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-14 17:54:42 +00:00
39 lines
935 B
Transact-SQL
39 lines
935 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;
|