CREATE PROCEDURE dbo.LogInserter(@RecordType INT)
AS
BEGIN
IF @RecordType = 1
BEGIN
BEGIN TRAN;
EXEC sys.sp_getapplock @Resource = N'RecordType1',
@LockMode = 'Exclusive';
IF NOT EXISTS
(
SELECT 1/0
FROM dbo.test
WHERE RecordType = 1
)
INSERT INTO dbo.test(RecordType) VALUES(1);
COMMIT;
END;