CREATE OR ALTER PROCEDURE dbo.USP_CreateStateProvince( @StateProvinceName NVARCHAR(100), @ISO3166_2 NVARCHAR(6), @CountryCode NVARCHAR(2) ) AS BEGIN SET NOCOUNT ON; SET XACT_ABORT ON; IF EXISTS (SELECT 1 FROM dbo.StateProvince WHERE ISO3166_2 = @ISO3166_2) RETURN; DECLARE @CountryId UNIQUEIDENTIFIER = dbo.UDF_GetCountryIdByCode(@CountryCode); IF @CountryId IS NULL BEGIN THROW 50001, 'Country does not exist', 1; END INSERT INTO dbo.StateProvince (StateProvinceName, ISO3166_2, CountryID) VALUES (@StateProvinceName, @ISO3166_2, @CountryId); END;