Here is a starting point with some basics included for you:
IF EXISTS ( SELECT *
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[schema_name].[proc_name]')
AND type IN (N'P', N'PC') )
DROP PROCEDURE schema_name.proc_name;
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE PROCEDURE schema_name.proc_name (@param NVARCHAR(500))
AS
BEGIN
/********************************************************************************
Created:
Purpose:
Author:
Called By:
Example:
Modification History:
Date Author Purpose
----------- --------------- ----------------------------------------------------
********************************************************************************/
SET NOCOUNT ON;
BEGIN TRY;
IF @param IS NULL
BEGIN
THROW 50000, 'Parameter @param not supplied.',1;
END;
SELECT some_column
FROM dbo.some_table
WHERE some_other_column = @param;
-- verify a row was found
IF @@ROWCOUNT = 0
RAISERROR ('Data not found based on supplied parameter. Parameter supplied is %s.',16,1,@param);
RETURN;
END TRY
BEGIN CATCH;
-- optionally log the error somewhere
THROW;
END CATCH;
END;
GO
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato