@echo off call "C:\GlobalCube\Tasks\scripts\config2.bat" rem ==WORKING_PERIOD== del C:\GlobalCube\System\OPTIMA\SQL\logs\WORKING_PERIOD*.* /Q /F >nul 2>nul if not "%1"=="" goto :increment :full call sql_query.bat "TRUNCATE TABLE [OPTIMA].[import].[WORKING_PERIOD]" call bcp_queryout.bat "WORKING_PERIOD_1" "SELECT T1.[START_DAY_ID], T1.[END_DAY_ID], T1.[RECURRING_PATTERN_ID], T1.[CALENDAR_INFO_ID], T1.[CALENDAR_TYPE_ID], T1.[CALENDAR_EVENT_ID], T1.[WORKINGDAY], T1.[EARLIEST_START_TIME], T1.[LATEST_START_TIME], T1.[EARLIEST_END_TIME], T1.[LATEST_END_TIME], T1.[CORE_WORKING_TIME], T1.[CORE_WORKING_HOURS], T1.[BREAKS_TOTAL], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[UNIQUE_ID], '1' as [Client_DB] FROM [deop01].[dbo].[WORKING_PERIOD] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "WORKING_PERIOD_1" "[import].[WORKING_PERIOD]" "OPTIMA" call bcp_queryout.bat "WORKING_PERIOD_2" "SELECT T1.[START_DAY_ID], T1.[END_DAY_ID], T1.[RECURRING_PATTERN_ID], T1.[CALENDAR_INFO_ID], T1.[CALENDAR_TYPE_ID], T1.[CALENDAR_EVENT_ID], T1.[WORKINGDAY], T1.[EARLIEST_START_TIME], T1.[LATEST_START_TIME], T1.[EARLIEST_END_TIME], T1.[LATEST_END_TIME], T1.[CORE_WORKING_TIME], T1.[CORE_WORKING_HOURS], T1.[BREAKS_TOTAL], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[UNIQUE_ID], '2' as [Client_DB] FROM [deop02].[dbo].[WORKING_PERIOD] T1 WHERE 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "WORKING_PERIOD_2" "[import].[WORKING_PERIOD]" "OPTIMA" goto :cleanup :increment call sql_query.bat "TRUNCATE TABLE [OPTIMAX].[temp].[WORKING_PERIOD]" call sql_timestamp.bat "WORKING_PERIOD_1" "[OPTIMA].[import].[WORKING_PERIOD]" "1" call bcp_queryout.bat "WORKING_PERIOD_1" "SELECT T1.[START_DAY_ID], T1.[END_DAY_ID], T1.[RECURRING_PATTERN_ID], T1.[CALENDAR_INFO_ID], T1.[CALENDAR_TYPE_ID], T1.[CALENDAR_EVENT_ID], T1.[WORKINGDAY], T1.[EARLIEST_START_TIME], T1.[LATEST_START_TIME], T1.[EARLIEST_END_TIME], T1.[LATEST_END_TIME], T1.[CORE_WORKING_TIME], T1.[CORE_WORKING_HOURS], T1.[BREAKS_TOTAL], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[UNIQUE_ID], '1' as [Client_DB] FROM [deop01].[dbo].[WORKING_PERIOD] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "WORKING_PERIOD_1" "[temp].[WORKING_PERIOD]" "OPTIMAX" call sql_timestamp.bat "WORKING_PERIOD_2" "[OPTIMA].[import].[WORKING_PERIOD]" "2" call bcp_queryout.bat "WORKING_PERIOD_2" "SELECT T1.[START_DAY_ID], T1.[END_DAY_ID], T1.[RECURRING_PATTERN_ID], T1.[CALENDAR_INFO_ID], T1.[CALENDAR_TYPE_ID], T1.[CALENDAR_EVENT_ID], T1.[WORKINGDAY], T1.[EARLIEST_START_TIME], T1.[LATEST_START_TIME], T1.[EARLIEST_END_TIME], T1.[LATEST_END_TIME], T1.[CORE_WORKING_TIME], T1.[CORE_WORKING_HOURS], T1.[BREAKS_TOTAL], T1.[TRANSACT_DATE], T1.[HANDLER], T1.[FUNCTION_CODE], T1.[PROGRAM], T1.[CONV_FLAG], T1.[timestamp], T1.[UNIQUE_ID], '2' as [Client_DB] FROM [deop02].[dbo].[WORKING_PERIOD] T1 WHERE T1.[timestamp] > convert(binary(8), '%TS%', 1) AND 1 = 1 ORDER BY T1.[timestamp] " call bcp_in.bat "WORKING_PERIOD_2" "[temp].[WORKING_PERIOD]" "OPTIMAX" call sql_query.bat "DELETE T1 FROM [OPTIMA].[import].[WORKING_PERIOD] T1 INNER JOIN [OPTIMAX].[temp].[WORKING_PERIOD] T2 ON T1.[CLIENT_DB] = T2.[CLIENT_DB] AND T1.[UNIQUE_ID] = T2.[UNIQUE_ID]" call sql_query.bat "INSERT INTO [OPTIMA].[import].[WORKING_PERIOD] with (TABLOCK) SELECT * FROM [OPTIMAX].[temp].[WORKING_PERIOD] T1" :cleanup call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\WORKING_PERIOD_1.csv" call delete.bat "C:\GlobalCube\System\OPTIMA\SQL\temp\WORKING_PERIOD_2.csv"