CREATE PROCEDURE dbo.FixedLengthDefinitionIns
@Description VARCHAR(MAX) = NULL,
@PackageName VARCHAR(256) = NULL,
@CombinedColumnMaxlength SMALLINT = NULL,
@DefinitionId INT = 0 OUTPUT,
@SelectResults BIT = 1
AS
SET NOCOUNT ON
IF @Description IS NULL
BEGIN
EXEC sp_ExecTemplate
@ObjectName = 'dbo.FixedLengthDefinitionIns',
@PrintDefault = 0,
@DeclareReturn = 0,
@PrintReturnLine = 0,
@DoNotDeclareVar = 1
RETURN 30
END ;
SELECT @DefinitionId = DefinitionId
FROM dbo.FixedLengthDefinition
WHERE Description = @Description
IF @@ROWCOUNT = 1
BEGIN
RAISERROR ('@DefinitionId: %d already exists for Description: %s', 16, 1, @DefinitionId, @Description)
IF @SelectResults = 1
SELECT *
FROM dbo.FixedLengthDefinition
WHERE DefinitionId = @DefinitionId
RETURN 30
END
INSERT INTO dbo.FixedLengthDefinition
(CombinedColumnMaxlength,
Description,
PackageName)
SELECT @CombinedColumnMaxlength,
@Description,
@PackageName
SET @DefinitionId = SCOPE_IDENTITY()
IF @SelectResults = 1
SELECT *
FROM dbo.FixedLengthDefinition
WHERE DefinitionId = @DefinitionId