73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
-- =============================================
 | 
						|
-- Author:		Morgan Yarbrough
 | 
						|
-- Create date: 4/27/2015
 | 
						|
-- Description:	Test procedure that shows off language features.
 | 
						|
-- 				Includes non-standard folding with region comments using either
 | 
						|
-- 				line comments or block comments (both are demonstrated below).
 | 
						|
--				This mode imitates SSMS and it designed to be used with SQL Server theme.
 | 
						|
-- =============================================
 | 
						|
CREATE PROCEDURE dbo.TestProcedure
 | 
						|
	
 | 
						|
--#region parameters
 | 
						|
	@vint INT = 1
 | 
						|
	,@vdate DATE = NULL
 | 
						|
	,@vdatetime DATETIME = DATEADD(dd, 1, GETDATE())
 | 
						|
	,@vvarchar VARCHAR(MAX) = ''
 | 
						|
--#endregion
 | 
						|
 | 
						|
AS
 | 
						|
BEGIN
 | 
						|
 | 
						|
	/*#region set statements */
 | 
						|
	SET NOCOUNT ON;
 | 
						|
	SET XACT_ABORT ON;
 | 
						|
	SET QUOTED_IDENTIFIER ON;
 | 
						|
	/*#endregion*/
 | 
						|
	
 | 
						|
	/**
 | 
						|
	 * These comments will produce a fold widget
 | 
						|
	 */
 | 
						|
	
 | 
						|
	-- folding demonstration
 | 
						|
	SET @vint = CASE
 | 
						|
					WHEN @vdate IS NULL
 | 
						|
						THEN 1
 | 
						|
					ELSE 2
 | 
						|
				END
 | 
						|
	
 | 
						|
	-- another folding demonstration
 | 
						|
	IF @vint = 1 
 | 
						|
	BEGIN
 | 
						|
		SET @vvarchar = 'one'
 | 
						|
		SET @vint = DATEDIFF(dd, @vdate, @vdatetime)
 | 
						|
	END
 | 
						|
	
 | 
						|
	-- this mode handles strings properly
 | 
						|
	DECLARE @sql NVARCHAR(4000) = N'SELECT TOP(1) OrderID 
 | 
						|
									FROM Orders
 | 
						|
									WHERE @OrderDate > GETDATE()'
 | 
						|
								
 | 
						|
	-- this mode is aware of built in stored procedures 
 | 
						|
	EXECUTE sp_executesql @sql
 | 
						|
	
 | 
						|
	-- demonstrating some syntax highlighting
 | 
						|
	SELECT Orders.OrderID
 | 
						|
		,Customers.CompanyName
 | 
						|
		,DATEFROMPARTS(YEAR(GETDATE()), 1, 1) AS FirstDayOfYear
 | 
						|
	FROM Orders
 | 
						|
	INNER JOIN Customers
 | 
						|
		ON Orders.CustomerID = Customers.CustomerID
 | 
						|
	WHERE CompanyName NOT LIKE '%something'
 | 
						|
		OR CompanyName IS NULL
 | 
						|
		OR CompanyName IN ('bla', 'nothing')
 | 
						|
		
 | 
						|
	-- this mode includes snippets
 | 
						|
	-- place your cusor at the end of the line below and trigger auto complete (Ctrl+Space)
 | 
						|
	createpr
 | 
						|
	
 | 
						|
	-- SQL Server allows using keywords as object names (not recommended) as long as they are wrapped in brackets
 | 
						|
	DATABASE -- keyword
 | 
						|
	[DATABASE] -- not a keyword
 | 
						|
	
 | 
						|
END
 |