DECLARE @CONTROL_ID INTEGER, @NEW_CONTROL_ID INTEGER, @CONTROL_TYPE_ID INTEGER, @NAME VARCHAR(100), @COL_NAME VARCHAR(100), @SQL_COMMAND_1 VARCHAR(2000) DECLARE c_CONTROLS CURSOR FOR SELECT T.GUID, CASE T.CONTROL_TYPE_ID WHEN 8 THEN 10 WHEN 9 THEn 8 WHEN 10 THEN 9 ELSE T.CONTROL_TYPE_ID END AS CONTROL_TYPE_ID, T.NAME,T.COL_NAME,T.SQL_COMMAND_1 FROM DD_DMS.dbo.TBPMO_CONTROL T WHERE T.FORM_ID = 22 BEGIN OPEN c_CONTROLS FETCH NEXT FROM c_CONTROLS INTO @CONTROL_ID,@CONTROL_TYPE_ID,@NAME,@COL_NAME,@SQL_COMMAND_1 WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TBPMO_CONTROL (FORM_ID,CONTROL_TYPE_ID,NAME,COL_NAME,SQL_COMMAND_1) VALUES (8,@CONTROL_TYPE_ID,@NAME,@COL_NAME,@SQL_COMMAND_1) SELECT @NEW_CONTROL_ID = MAX(GUID) FROM TBPMO_CONTROL INSERT INTO TBPMO_CONTROL_SCREEN (CONTROL_ID,SCREEN_ID,CONTROL_TEXT,X_LOC,Y_LOC,HEIGHT,WIDTH,FONT_FAMILY,FONT_COLOR,FONT_SIZE,FONT_STYLE,TAB_INDEX,TAB_STOP) SELECT @NEW_CONTROL_ID,SCREEN_ID,CONTROL_TEXT,X_LOC,Y_LOC,HEIGHT,WIDTH,FONT_FAMILY,FONT_COLOR,FONT_SIZE,FONT_STYLE,TAB_INDEX,TAB_STOP FROM DD_DMS.dbo.TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_ID AND SCREEN_ID = 1 FETCH NEXT FROM c_CONTROLS INTO @CONTROL_ID,@CONTROL_TYPE_ID,@NAME,@COL_NAME,@SQL_COMMAND_1 END CLOSE c_CONTROLS DEALLOCATE c_CONTROLS END