Stored Procedure

Create

CREATE PROCEDURE SchemaName.spTable_Action -- sp_ is dangerous since the server uses this
/*
you can include comments, that will be saved with the procedure
*/
AS 
BEGIN
	SELECT * FROM SchemaName.TableName
END

Execute

EXEC SchemaName.spTable_Action

Alter

You can just use ALTER without create

CREATE OR ALTER PROCEDURE SchemaName.spTable_Action
AS 
BEGIN
	SELECT * FROM SchemaName.TableName
END


Parameters

CREATE OR ALTER PROCEDURE SchemaName.spTable_Action
	@ParamName1 VARCHAR(255),
	@ParamName2 VARCHAR(255) = 'Default Name' -- if = null, then use ISNULL when u use it
AS 
BEGIN
	SELECT * 
	FROM SchemaName.TableName AS tb
	WHERE tb.col1 = @ParamName1
	  AND tb.col2 = @ParamName2
END

Execute with Param

EXEC SchemaName.spTable_Action 'val1', 'val2'

EXEC SchemaName.spTable_Action @ParamName1 = 'val1', @ParamName2 = 'val2'