corrade-nucleus-nucleons – Rev 20

Subversion Repositories:
Rev:
-- =============================================
-- 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