SQL inline table-valued function: Util.dbo.GetProcedureFromExecuteSQL

CREATE FUNCTION dbo.GetProcedureFromExecuteSQL (@SQL VARCHAR(MAX))
RETURNS TABLE
    AS
RETURN
    SELECT  COALESCE(d1, b1) AS ProcSQL
    FROM    (SELECT 'sp_executesql N''' AS sp) s
    CROSS APPLY (SELECT CHARINDEX (sp, @sql)AS a1) a
    CROSS APPLY (SELECT CASE WHEN a1 > 0 THEN LTRIM (SUBSTRING (@sql, a1 + LEN (sp), LEN (@sql))) END AS b1) b
    CROSS APPLY (SELECT CASE WHEN a1 > 0 THEN CHARINDEX ('@', b1) END AS c1) c
    CROSS APPLY (SELECT CASE WHEN c1 > 0 THEN SUBSTRING (b1, 1, c1- 1) END d1) d

Description for SQL inline table-valued function: Util.dbo.GetProcedureFromExecuteSQL

Todo
Site Map | Printable View | © 2008 - 2012 NuRoN Consulting, INC | Powered by mojoPortal | HTML 5 | CSS | Original design by Andreas Viklund
Share This Using Popular Bookmarking Services