CREATE TABLE [dbo].[#TSC_ExportedColumnIds]( [ID] [int] NOT NULL, [ColumnType] [int] NOT NULL) ON [PRIMARY]GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (1, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (2, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (3, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (4, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (5, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (6, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (7, 3)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (8, 3)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (9, 3)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (10, 1)GOINSERT [dbo].[#TSC_ExportedColumnIds] ([ID], [ColumnType]) VALUES (11, 1)DECLARE @TEMP_EXPORT TABLE ( [A] [varchar](500) NULL, [B] [nvarchar](500) NULL, [C] [nvarchar](50) NULL, [D] [nvarchar](50) NULL, [E] [nvarchar](1000) NULL, [F] [varchar](1000) NULL, [G] [varchar](500) NULL)DECLARE @COLUMN_ID INTDECLARE @getID CURSORSET @getID = CURSOR FORSELECT IDFROM dbo.#TSC_ExportedColumnIdsOPEN @getIDFETCH NEXTFROM @getID INTO @COLUMN_IDWHILE @@FETCH_STATUS = 0BEGINPRINT @COLUMN_IDDECLARE @COLUMN_TYPE INTSELECT @COLUMN_TYPE = TSC_COLUMNS.ColumnTypeFROM TSC_COLUMNSWHERE TSC_COLUMNS.ID = @COLUMN_IDIF @COLUMN_TYPE = 1 BEGININSERT INTO @TEMP_EXPORT SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL--INSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[udf_TSC_qry_ExportBlockColumnParam1](@COLUMN_ID)--INSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[udf_TSC_qry_ExportBlockColumnParam2](@COLUMN_ID,4)ENDIF @COLUMN_TYPE = 2BEGININSERT INTO @TEMP_EXPORT SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL--INSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[udf_TSC_qry_ExportSequenceColumnParam1](@COLUMN_ID)--INSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[udf_TSC_qry_ExportSequenceColumnParam2](@COLUMN_ID,4)ENDIF @COLUMN_TYPE = 3BEGININSERT INTO @TEMP_EXPORT SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL--INSERT INTO @TEMP_EXPORT SELECT A,B,C,D,E,F,G FROM [dbo].[udf_TSC_qry_ExportEventColumnParam0](@COLUMN_ID,4)ENDFETCH NEXTFROM @getID INTO @COLUMN_IDENDCLOSE @getIDDEALLOCATE @getIDselect * from @TEMP_EXPORT
INSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[#TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](@COLUMN_ID) bWHERE a.ColumnType IN (1,2)UNION ALL SELECT * FROM [dbo].[#TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](@COLUMN_ID,4) bWHERE a.ColumnType IN (1,2)UNION ALLSELECT A,B,C,D,E,F,G FROM [dbo].[#TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportEventColumnParam0](@COLUMN_ID,4) bWHERE a.ColumnType = 3
SELECT @COLUMN_TYPE = TSC_COLUMNS.ColumnTypeFROM TSC_COLUMNSWHERE TSC_COLUMNS.ID = @COLUMN_IDINSERT INTO @TEMP_EXPORT SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](@COLUMN_ID) bWHERE a.ColumnType = 1UNION ALL SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](@COLUMN_ID,4) bWHERE a.ColumnType = 1UNION ALLSELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam1](@COLUMN_ID) bWHERE a.ColumnType = 2UNION ALLSELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam2](@COLUMN_ID,4) bWHERE a.ColumnType = 2UNION ALLSELECT A,B,C,D,E,F,G FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportEventColumnParam0](@COLUMN_ID,4) bWHERE a.ColumnType = 3
SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](a.ID) bWHERE a.ColumnType IN (1,2)UNION ALL SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](a.ID,4) bWHERE a.ColumnType IN (1,2)UNION ALLSELECT A,B,C,D,E,F,G FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportEventColumnParam0](a.ID,4) bWHERE a.ColumnType = 3;
SELECT A,B,C,D,E,F,G FROM (SELECT A.ID, B.ColumnType FROM dbo.TSC_ExportedColumnIds A INNER JOIN TSC_COLUMNS B ON A.ID = B.ID ) aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](a.ID) bWHERE a.ColumnType IN (1,2)UNION ALLSELECT A,B,C,D,E,F,G FROM (SELECT A.ID, B.ColumnType FROM dbo.TSC_ExportedColumnIds A INNER JOIN TSC_COLUMNS B ON A.ID = B.ID ) aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](a.ID,4) bWHERE a.ColumnType IN (1,2)UNION ALLSELECT A,B,C,D,E,F,G FROM (SELECT A.ID, B.ColumnType FROM dbo.TSC_ExportedColumnIds A INNER JOIN TSC_COLUMNS B ON A.ID = B.ID ) aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam0](a.ID,4) bWHERE a.ColumnType = 3;
SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](a.ID) bWHERE a.ColumnType = 1UNION ALL SELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](a.ID,4) bWHERE a.ColumnType = 1UNION ALLSELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam1](a.ID) bWHERE a.ColumnType = 2UNION ALLSELECT * FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam2](a.ID,4) bWHERE a.ColumnType = 2UNION ALLSELECT A,B,C,D,E,F,G FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportEventColumnParam0](a.ID,4) bWHERE a.ColumnType = 3;
SELECT 1 as OrderME,* FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam1](a.ID) bWHERE a.ColumnType = 1UNION ALL SELECT 2,* FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportBlockColumnParam2](a.ID,4) bWHERE a.ColumnType = 1UNION ALLSELECT 3,* FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam1](a.ID) bWHERE a.ColumnType = 2UNION ALLSELECT 4,* FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportSequenceColumnParam2](a.ID,4) bWHERE a.ColumnType = 2UNION ALLSELECT 5, A,B,C,D,E,F,G FROM [dbo].[TSC_ExportedColumnIds] aCROSS APPLY [dbo].[udf_TSC_qry_ExportEventColumnParam0](a.ID,4) bWHERE a.ColumnType = 3order by ID,OrderMe