三菱电梯综合监控系统适配 lonele.exe 由 20180418 降级至 20150930 而调整相应的 msde2000 数据库

发布时间 2024-01-05 11:42:46作者: geyee

win10 x86 系统下程序文件的部分目录可能是
电梯综合监控系统
C:\PROGRAM FILES\上海三菱电梯有限公司
├─电梯综合监控系统
│ │ AxInterop.BRTMFSHX.dll
│ │ AxInterop.ComCtl3.dll
│ │ AxInterop.EditLib.dll
│ │ AxInterop.FPSpread.dll
│ │ AxInterop.IDReader.dll
│ │ AxInterop.MSCommLib.dll
│ │ AxInterop.MSWinsockLib.dll
│ │ AxInterop.SHMEMOCXLib.dll
│ │ CardRights.mdb
│ │ Cards.mdb
│ │ COMCT332.OCX
│ │ EleCartoon.dll
│ │ EleEscCtrl.dll
│ │ FarPoint.CalcEngine.dll
│ │ FarPoint.Excel.dll
│ │ FarPoint.PluginCalendar.WinForms.dll
│ │ FarPoint.Win.dll
│ │ FarPoint.Win.Spread.dll
│ │ FatalErrorLog.txt
│ │ HCNetSDK.dll
│ │ Hist.mdb
│ │ Interop.BRTMFSHX.dll
│ │ Interop.ComCtl3.dll
│ │ Interop.EditLib.dll
│ │ Interop.FPSpread.dll
│ │ Interop.IDReader.dll
│ │ Interop.LcaObjectServerLib.dll
│ │ Interop.MSCommLib.dll
│ │ Interop.MSWinsockLib.dll
│ │ Interop.Scripting.dll
│ │ Interop.SHMEMOCXLib.dll
│ │ Interop.VBRUN.dll
│ │ LonEle.exe
│ │ LonEleBEC.dll
│ │ LonEleDALC.dll
│ │ LonEleDbInstaller.dll
│ │ LonEleDbInstaller.InstallState
│ │ LonEleERMS.dll
│ │ lonelehlp_CH.chm
│ │ lonelehlp_EN.chm
│ │ LonEleLNSALC.dll
│ │ LonEleMaintain.dll
│ │ LonEleRemes.dll
│ │ LonEleSchindler.dll
│ │ LonEleTCPALC.dll
│ │ LonEleWVCD.dll
│ │ Microsoft.ApplicationBlocks.Data.dll
│ │ MSCOMM32.OCX
│ │ MSWINSCK.OCX
│ │ Nana Computer.ico
│ │ notify.wav
│ │ scrrun.dll
│ │ Shmemocx.ocx
│ │ StandardTime.ini
│ │ stdole.dll
│ │ SystemSetting.ini
│ │ TimeSystem.dll
│ │ VBRUN.DLL
│ │
│ ├─en
│ │ EleEscCtrl.resources.dll
│ │ LonEle.resources.dll
│ │
│ ├─mk
│ │ LonEle.resources.dll
│ │
│ ├─zh-CHS
│ │ EleEscCtrl.resources.dll
│ │ LonEle.resources.dll
│ │
│ └─zh-CN
│ EleEscCtrl.resources.dll
│ LonEle.resources.dll

一些对比信息

AdeptSQL Database Comparison Report

Left-hand database Right-hand database
localhost\LONELE2.lonele localhost\LONELE2.lonele20150930_cn

Difference summary, by object category

Category Total items Identical Changed Left-only Right-only
Tables 38 33 5 0 0
Views 14 14 0 0 0
Procedures 135 120 15 0 0
Principals 2 2 0 0 0
File groups 1 1 0 0 0

更改 Tables ( EleBaseInfo,EleGroup,EleGroup_EleCrtMap_InputArea,EleSet,FloorName )及存储过程

set xact_abort on;
go

begin transaction;
go

alter table EleBaseInfo alter column
  Ele_GroupID tinyint not null;
go

set ANSI_NULLS on;
go

alter Procedure prDelete_EleBaseInfo
	/* Param List */
	@insEle_ID smallint
AS
/******************************************************************************
**		File: prDelete_EleBaseInfo.sql
**		Name: prDelete_EleBaseInfo
**		Desc: 删除指定编号的电梯基本信息
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Ele_ID[电梯编号]
**
**		Auth: zjd
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SET NOCOUNT ON
DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR
IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END
IF @intErrorCode = 0
BEGIN
	DELETE EleBaseInfo
	WHERE Ele_ID = @insEle_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END
IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
-- 检查是否有一条故障记录被删除。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter VIEW vTraceLog
AS
SELECT dbo.EleBaseInfo.*, dbo.TraceLog.*
FROM dbo.EleBaseInfo INNER JOIN
      dbo.TraceLog ON dbo.EleBaseInfo.Ele_ID = dbo.TraceLog.TraceLog_EleID
go

alter VIEW vErrorLog
AS
SELECT dbo.EleBaseInfo.*, dbo.EleGroup.*, dbo.EleSet.*, dbo.ErrorCode.*, dbo.EleType.*, 
      dbo.ErrorLog.*
FROM dbo.EleBaseInfo INNER JOIN
      dbo.ErrorLog ON dbo.EleBaseInfo.Ele_ID = dbo.ErrorLog.ErrLog_EleID INNER JOIN
      dbo.ErrorCode ON 
      dbo.ErrorLog.ErrLog_ErrCodeID = dbo.ErrorCode.ErrCode_ID INNER JOIN
      dbo.EleType ON dbo.EleBaseInfo.Ele_TypeID = dbo.EleType.Type_ID INNER JOIN
      dbo.EleGroup ON 
      dbo.EleBaseInfo.Ele_GroupID = dbo.EleGroup.Group_ID INNER JOIN
      dbo.EleSet ON dbo.EleGroup.Group_SetID = dbo.EleSet.Set_ID
go

alter Procedure prUpdate_EleBaseInfo
	/* Param List */
	(@insEle_ID smallint,
	 @chvnName nvarchar(20),
	 @inyTypeID tinyint,
	 @inyFloorsNum tinyint = 0,
	 @inyMainFloorNumber tinyint = 0,
	 @chvnSpeed nvarchar(10) = '',
	 @LoadWeight nvarchar(10) = '',
	 @chrnMntID nchar(7) = '0000000',
	 @inyGroupID tinyint,
	 @inyVideoChannel tinyint = 0,
	 @inyAvServerID tinyint = 0,
	 @inyIdInGroup tinyint = 0,
	 @inyShowInClient tinyint = 1,
	 @inyDoubleDeck tinyint = 0,
	 @chvnNoneStopFloors nvarchar(256) = '',
	 @inyMemberOfSimultaneouslyReturn tinyint = 0,
	 @chvnEleTypeNameForShow nvarchar(50) = '')
AS

/******************************************************************************
**		File: prUpdate_EleBaseInfo.sql
**		Name: prUpdate_EleBaseInfo
**		Desc: ??????
**
**		This template can be customized:
**              
**		Return values: ErrorCode 0 ?0 ??
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Ele_ID[?]
**		Name[]		
**		TypeID[?]
**		FloorsNum[¥]
**		MainFloorNumber[?]
**		Speed[?]
**		Weight[]
**		MntID[??]
** 		GroupID[?]
**		VideoChannel[?]
**		AvServerID[ID]
**		IdInGroup[??]
**		ShowInClient[??]
**		DoubleDeck[??]
**		NoneStopFloors[??]
**		MemberOfSimultaneouslyReturn[??]
**      EleTypeNameForShow[?]
**
**		Auth: zjd
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**      2008/06/05	zjd					Add IdInGroup[??]
**      2008/10/13  zjd					Add ShowInClient[??]
**		2012/02/02	zjd					Add DoubleDeck[??]
**		2013/03/04	zjd					Add NoneStopFloors[??]
**		2013/11/14	zjd					Add	MemberOfSimultaneouslyReturn[??]
**      2015/06/23  zjd                 Add EleTypeNameForShow[?]
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	UPDATE EleBaseInfo
	SET Ele_Name = @chvnName,
		Ele_TypeID = @inyTypeID,
		Ele_FloorsNum = @inyFloorsNum,
		Ele_MainFloorNumber = @inyMainFloorNumber,
		Ele_Speed = @chvnSpeed,
		Ele_LoadWeight = @LoadWeight,
		Ele_MntID = @chrnMntID,
		Ele_GroupID = @inyGroupID,
		Ele_VideoChannel = @inyVideoChannel,
		Ele_AvServerID = @inyAvServerID,
		Ele_IdInGroup = @inyIdInGroup,
		Ele_ShowInClient = @inyShowInClient,
		Ele_DoubleDeck = @inyDoubleDeck,
		Ele_NoneStopFloors = @chvnNoneStopFloors,
		Ele_MemberOfSimultaneouslyReturn = @inyMemberOfSimultaneouslyReturn,
		Ele_EleTypeNameForShow = @chvnEleTypeNameForShow
	WHERE Ele_ID = @insEle_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END

-- ????
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter VIEW vEleBaseInfo
AS
SELECT dbo.EleBaseInfo.*, dbo.EleSet.*, dbo.EleGroup.*, dbo.EleType.*
FROM dbo.EleGroup INNER JOIN
      dbo.EleBaseInfo ON 
      dbo.EleGroup.Group_ID = dbo.EleBaseInfo.Ele_GroupID INNER JOIN
      dbo.EleSet ON dbo.EleGroup.Group_SetID = dbo.EleSet.Set_ID INNER JOIN
      dbo.EleType ON dbo.EleBaseInfo.Ele_TypeID = dbo.EleType.Type_ID
go

alter Procedure prInsert_EleBaseInfo
	/* Param List */
	(@insEle_ID smallint = NULL OUTPUT,
	 @chvnName nvarchar(20),
	 @inyTypeID tinyint,
	 @inyFloorsNum tinyint = 0,
	 @inyMainFloorNumber tinyint = 0,
	 @chvnSpeed nvarchar(10) = '',
	 @LoadWeight nvarchar(10) = '',
	 @chrnMntID nchar(7) = '0000000',
	 @inyGroupID tinyint,
	 @inyVideoChannel tinyint = 0,
	 @inyAvServerID tinyint = 0,
	 @inyIdInGroup tinyint = 0,
	 @inyShowInClient tinyint = 1,
	 @inyDoubleDeck tinyint = 0,
	 @chvnNoneStopFloors nvarchar(256) ='',
	 @inyMemberOfSimultaneouslyReturn tinyint = 0,
	 @chvnEleTypeNameForShow nvarchar(50) ='')
AS

/******************************************************************************
**		File: prInsert_EleBaseInfo.sql
**		Name: prInsert_EleBaseInfo
**		Desc: ??в?μ???1~999
**
**		This template can be customized:
**              
**		Return values: ErrorCode 0 ?0 ??
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Name[]					Ele_ID[?]
**		TypeID[?]
**		FloorsNum[¥]
**		MainFloorNumber[?]
**		Speed[?]
**		Weight[]
**		MntID[??]
** 		GroupID[?]
**		VideoChannel[?]
**		AvServerID[ID]
**		IdInGroup[??]
**		ShowInClient[??]
**		DoubleDeck[??]
**		NoneStopFloors[??]
**		MemberOfSimultaneouslyReturn[??]
**      EleTypeNameForShow[?]
**
**		Auth: zjd
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**      2008/06/05	zjd					Add IdInGroup[??]
**      2008/10/13  zjd					Add ShowInClient[??]
**		2012/02/02	zjd					Add DoubleDeck[??]
**		2013/03/04	zjd					Add NoneStopFloors[??]
**		2013/11/14	zjd					Add	MemberOfSimultaneouslyReturn[??]
**      2015/06/23  zjd					Add EleTypeNameForShow[?]
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int,
		@intSequenceId int
		
	/* ???1~999? */
	SET @intSequenceId = 1
	WHILE @intSequenceId < = 999
	BEGIN
		
		SELECT @intRowCount = (SELECT COUNT(Ele_ID) FROM EleBaseInfo WHERE Ele_ID = @intSequenceId)
		IF @intRowCount = 0
		BEGIN
			SET @insEle_ID = @intSequenceId
			GOTO ID_FOUNDED
		END
		ELSE 				
			SET @intSequenceId = @intSequenceId + 1
			
	END 	

	IF @intSequenceId > 999
	RETURN 1
	
ID_FOUNDED:
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	/* Insert EleBaseInfo */
		
	INSERT EleBaseInfo(Ele_ID,
					   Ele_Name,
					   Ele_TypeID,
					   Ele_FloorsNum,
					   Ele_MainFloorNumber,
					   Ele_Speed,
					   Ele_LoadWeight,
					   Ele_MntID,
					   Ele_GroupID,
					   Ele_VideoChannel,
					   Ele_AvServerID,
					   Ele_IdInGroup,
					   Ele_ShowInClient,
					   Ele_DoubleDeck,
					   Ele_NoneStopFloors,
					   Ele_MemberOfSimultaneouslyReturn,
					   Ele_EleTypeNameForShow)
	VALUES			  (@insEle_ID,
					   @chvnName,
					   @inyTypeID,
					   @inyFloorsNum,
					   @inyMainFloorNumber,
					   @chvnSpeed,
					   @LoadWeight,
					   @chrnMntID,
					   @inyGroupID,
					   @inyVideoChannel,
					   @inyAvServerID,
					   @inyIdInGroup,
					   @inyShowInClient,
					   @inyDoubleDeck,
					   @chvnNoneStopFloors,
					   @inyMemberOfSimultaneouslyReturn,
					   @chvnEleTypeNameForShow)
				  
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
  
RETURN @intErrorCode
go

alter table EleGroup drop
  column Group_NcrAppCall_GrpID;
go

alter table EleGroup alter column
  Group_ID tinyint not null;
go

alter table EleGroup alter column
  Group_SetID tinyint not null;
go

alter Procedure prDelete_EleGroup
	/* Param List */
	@inyGroup_ID tinyint
AS
/******************************************************************************
**		File: prDelete_EleGroup.sql
**		Name: prDelete_EleGroup
**		Desc: 删除指定群编号的电梯群
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Group_ID[群编号]		
**
**		Auth: zjd
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------		--------				-------------------------------------------
**    
*******************************************************************************/
SET NOCOUNT ON
DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR
IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END
IF @intErrorCode = 0
BEGIN
	DELETE EleGroup
	WHERE Group_ID = @inyGroup_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END
IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
-- 检查是否有一条故障记录被删除。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter Procedure prUpdate_EleGroup
	/* Param List */
	(@inyGroup_ID tinyint,
	 @chvnName nvarchar(20),
	 @inySetID tinyint,
	 @inyIsRealGroup tinyint,
	 @inyNumberOfSimultaneouslyReturn tinyint,
	 @inyReturnPriority tinyint,
	 @inyNumberOfSimultaneouslyReturn_PowerFail_FireEmergency tinyint,
	 @inyNumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency tinyint,
	 @inyDryContactStatus tinyint = 0,
	 @inyIbmsSignalToDryContactEnable tinyint = 0)
AS

/******************************************************************************
**		File: prUpdate_EleGroup.sql
**		Name: prUpdate_EleGroup
**		Desc: 更改电梯群名称或所属组编号
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Group_ID[群编号]
**		Name[群名称]		
**		SetID[所属组编号]
**		IsRealGroup[单梯的群或真正的群]
**		NumberOfSimultaneouslyReturn[群内可优先同时返回的电梯数]
**		ReturnPriority[群组返回优先级]
**		NumberOfSimultaneouslyReturn_PowerFail_FireEmergency[群内可优先同时返回的电梯数_电源失效_火灾紧急]
**		NumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency[群内可优先同时返回的电梯数_电源失效_非火灾紧急]
**		DryContactStatus[群控屏配置DSB_G板绑定DIO板的8个DO触点状态]
**		IbmsSignalToDryContactEnable[执行iBMS信号转触点输出信号转换]			
**
**		Auth: zjd
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**		2013/11/15	zjd					Add column Group_NumberOfSimultaneouslyReturn
**		2013/11/26	zjd					Add column Group_ReturnPriority
**		2013/12/18	zjd					Add column Group_NumberOfSimultaneouslyReturn_PowerFail_FireEmergency
**		2013/12/18	zjd					Add column Group_NumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency
**		2013/12/19	zjd					Add column Group_DryContactStatus
**		2013/12/19	zjd					Add column Group_IbmsSignalToDryContactEnable    
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	UPDATE EleGroup
	SET Group_Name = @chvnName,
		Group_SetID = @inySetID,
		Group_IsRealGroup = @inyIsRealGroup,
		Group_NumberOfSimultaneouslyReturn = @inyNumberOfSimultaneouslyReturn,
		Group_ReturnPriority = @inyReturnPriority,
		Group_NumberOfSimultaneouslyReturn_Powerfail_FireEmergency = @inyNumberOfSimultaneouslyReturn_PowerFail_FireEmergency,
		Group_NumberOfSimultaneouslyReturn_Powerfail_NonFireEmergency = @inyNumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency,
		Group_DryContactStatus = @inyDryContactStatus,
		Group_IbmsSignalToDryContactEnable = @inyIbmsSignalToDryContactEnable
	WHERE Group_ID = @inyGroup_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END

-- 检查是否有一条记录被更新。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter Procedure prInsert_EleGroup
	/* Param List */
	(@inyGroup_ID tinyint = NULL OUTPUT,
	 @chvnName nvarchar(20),
	 @inySetID tinyint,
	 @inyIsRealGroup tinyint,
	 @inyNumberOfSimultaneouslyReturn tinyint = 0,
	 @inyReturnPriority tinyint = 0,
	 @inyNumberOfSimultaneouslyReturn_PowerFail_FireEmergency tinyint = 0,
	 @inyNumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency tinyint = 0,
	 @inyDryContactStatus tinyint = 0,
	 @inyIbmsSignalToDryContactEnable tinyint = 0)
AS

/******************************************************************************
**		File: prInsert_EleGroup.sql
**		Name: prInsert_EleGroup
**		Desc: 向电梯群表中插入一条新的记录,群编号用1~255。
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Name[群名称]					Group_ID[群编号]
**		SetID[所属组编号]
**		IsRealGroup[是否单梯用的群]
**		NumberOfSimultaneouslyReturn[群内可优先同时返回的电梯数]
**		ReturnPriority[群组返回优先级]
**		NumberOfSimultaneouslyReturn_PowerFail_FireEmergency[群内可优先同时返回的电梯数_电源失效_火灾紧急]
**		NumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency[群内可优先同时返回的电梯数_电源失效_非火灾紧急]
**		DryContactStatus[群控屏配置DSB_G板绑定DIO板的8个DO触点状态]
**		IbmsSignalToDryContactEnable[执行iBMS信号转触点输出信号转换]		
**
**		Auth: zjd 
**		Date: 2004/08/30
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**		2013/11/15	zjd					Add column Group_NumberOfSimultaneouslyReturn
**		2013/11/26  zjd					Add column Group_ReturnPriority
**		2013/12/18	zjd					Add column Group_NumberOfSimultaneouslyReturn_PowerFail_FireEmergency
**		2013/12/18	zjd					Add column Group_NumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency
**		2013/12/19	zjd					Add column Group_DryContactStatus
**		2013/12/19	zjd					Add column Group_IbmsSignalToDryContactEnable
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int,
		@intSequenceId int
		
	/* 检索可用的编号:1~255之间 */
	SET @intSequenceId = 1
	WHILE @intSequenceId < = 255
	BEGIN
		
		SELECT @intRowCount = (SELECT COUNT(Group_ID) FROM EleGroup WHERE Group_ID = @intSequenceId)
		IF @intRowCount = 0
		BEGIN
			SET @inyGroup_ID = @intSequenceId
			GOTO ID_FOUNDED
		END
		ELSE 				
			SET @intSequenceId = @intSequenceId + 1
			
	END 	

	IF @intSequenceId > 255
	RETURN 1
	
ID_FOUNDED:
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	/* Insert EleGroup */
	INSERT EleGroup(Group_ID,
				    Group_Name,
				    Group_SetID,
				    Group_IsRealGroup,
				    Group_NumberOfSimultaneouslyReturn,
				    Group_ReturnPriority,
				    Group_NumberOfSimultaneouslyReturn_Powerfail_FireEmergency,
				    Group_NumberOfSimultaneouslyReturn_Powerfail_NonFireEmergency,
				    Group_DryContactStatus,
				    Group_IbmsSignalToDryContactEnable)
	VALUES		   (@inyGroup_ID,
				    @chvnName,
				    @inySetID,
				    @inyIsRealGroup,
				    @inyNumberOfSimultaneouslyReturn,
				    @inyReturnPriority,
				    @inyNumberOfSimultaneouslyReturn_PowerFail_FireEmergency,
				    @inyNumberOfSimultaneouslyReturn_PowerFail_NonFireEmergency,
				    @inyDryContactStatus,
				    @inyIbmsSignalToDryContactEnable)
				  
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
  
RETURN @intErrorCode
go

alter Procedure prGetEleGroupBySet
	/* Param List */
	@inySetID tinyint
AS
/******************************************************************************
**		File: prGetEleGroupBySet.sql
**		Name: prGetEleGroupBySet
**		Desc: 获取指定组的所有电梯群记录
**
**		This template can be customized:
**              
**		Return values: 数据集
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		SetID[组编号]					
**
**		Auth: zjd
**		Date: 2004/09/22
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SELECT *
FROM EleGroup
WHERE Group_SetID = @inySetID
go

alter table EleGroup_EleCrtMap_InputArea alter column
  Group_ID tinyint not null;
go

alter Procedure prInsertUpdate_EleGroup_EleCrtMap_InputArea
	/* Param List */
	(@inyGroup_ID tinyint,
	 @insGroup_CrtMapAddressOffset smallint,
	 @inyGroup_CrtMapAddressValue tinyint)
AS

/******************************************************************************
**		File: prInsertUpdate_EleGroup_EleCrtMap_InputArea.sql
**		Name: prInsertUpdate_EleGroup_EleCrtMap_InputArea
**		Desc: 在电梯群CRT数据输入表中更新指定电梯群编号、CRT数据输入偏移地址的记录;
**			  若无指定编号的记录,则添加一条。
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Group_ID[电梯群编号]				    
**		Group_CrtMapAddressOffset[CRT数据输入偏移地址]
**		Group_CrtMapAddressValue[CRT数据输入偏移地址值]
**
**		Auth: zjd
**		Date: 2014/11/26
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intCount int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	SELECT @intCount = (SELECT COUNT(Group_ID) FROM EleGroup_EleCrtMap_InputArea WHERE Group_ID = @inyGroup_ID AND Group_CrtMapAddressOffset = @insGroup_CrtMapAddressOffset)
	SELECT @intErrorCode = @@ERROR
END

IF @intErrorCode = 0
BEGIN
	IF @intCount = 0
		/* Insert EleStatus */
		INSERT EleGroup_EleCrtMap_InputArea(Group_ID,
						Group_CrtMapAddressOffset,
						Group_CrtMapAddressValue)
		VALUES		    (@inyGroup_ID,
						@insGroup_CrtMapAddressOffset,
						@inyGroup_CrtMapAddressValue)
	ELSE
		/* Update EleGroup_EleCrtMap_InputArea of Specified Group_ID and Group_CrtMapAddressValue */
		UPDATE EleGroup_EleCrtMap_InputArea
		SET Group_CrtMapAddressValue = @inyGroup_CrtMapAddressValue
		WHERE Group_ID = @inyGroup_ID AND Group_CrtMapAddressOffset = @insGroup_CrtMapAddressOffset
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END

-- 检查是否有一条故障记录被更新或被插入。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter Procedure prGet_EleGroup_EleCrtMap_InputArea
	/* Param List */
	(@inyGroup_ID tinyint,
	 @insGroup_CrtMapAddressOffset smallint)
AS

/******************************************************************************
**		File: prGet_EleGroup_EleCrtMap_InputArea.sql
**		Name: prGet_EleGroup_EleCrtMap_InputArea
**		Desc: 获取指定电梯群编号和CRT地址的地址值
**
**		This template can be customized:
**              
**		Return values: 数据集
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Group_ID[电梯群编号]
**		Group_CrtMapAddressOffset[地址]
**
**		Auth: zjd
**		Date: 2014/11/26
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/

SELECT *
FROM EleGroup_EleCrtMap_InputArea
WHERE Group_ID = @inyGroup_ID AND Group_CrtMapAddressOffset = @insGroup_CrtMapAddressOffset
go

alter table EleSet alter column
  Set_ID tinyint not null;
go

alter Procedure prGetAllEleSet
	/* Param List */
AS
/******************************************************************************
**		File: prGetAllEleSet
**		Name: prGetAllEleSet.sql
**		Desc: 获取所有电梯组记录
**
**		This template can be customized:
**              
**		Return values: 数据集
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**										
**		Auth: zjd
**		Date: 2004/09/22
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SELECT *
FROM EleSet
go

alter Procedure prDelete_EleSet
	/* Param List */
	@inySet_ID tinyint
AS
/******************************************************************************
**		File: prDelete_EleSet.sql
**		Name: prDelete_EleSet
**		Desc: 删除指定组编号的电梯组
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**		----------						-----------
**		Set_ID[组编号]
**
**		Auth: zjd 
**		Date: 2004/08/31
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SET NOCOUNT ON
DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR
IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END
IF @intErrorCode = 0
BEGIN
	DELETE EleSet
	WHERE Set_ID = @inySet_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END
IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
-- 检查是否有一条故障记录被更新。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter Procedure prUpdate_EleSet
	/* Param List */
	(@inySet_ID tinyint,
	 @chvnName nvarchar(20),
	 @inyUsage tinyint)
AS

/******************************************************************************
**		File: prUpdate_EleSet.sql
**		Name: prUpdate_EleSet
**		Desc: 更改电梯组名称和组用途
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		Set_ID[组编号]
**		Name[组名称]
**		Usage[组用途]			
**
**		Auth: zjd
**		Date: 2004/08/30
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**		2013/11/15	zjd					Add column Set_Usage
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN
	UPDATE EleSet
	SET Set_Name = @chvnName,
		Set_Usage = @inyUsage
	WHERE Set_ID = @inySet_ID
	
	SELECT @intRowCount	= @@ROWCOUNT
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END

-- 检查是否有一条记录被更新。
IF @intRowCount <> 1
	RETURN 1
ELSE
	RETURN @intErrorCode
go

alter Procedure prInsert_EleSet
	/* Param List */
	(@inySet_ID tinyint = NULL OUTPUT,
	 @chvnName nvarchar(20),
	 @inyUsage tinyint = 0)
AS

/******************************************************************************
**		File: prInsert_EleSet.sql
**		Name: prInsert_EleSet
**		Desc: 向电梯组表中插入一条新的记录,组编号从1~255中取。
**			  即:最大分组数量 255组
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**		----------						-----------
**		Name[组名称]					Set_ID[组编号]
**		Usage[组用途]
**
**		Auth: zjd
**		Date: 2004/08/30
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**      2013/11/15	zjd					Add column Set_Usage
*******************************************************************************/

SET NOCOUNT ON

DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int,
		@intSequenceId int
		
	/* 检索可用的编号:1~255之间 */
	SET @intSequenceId = 1
	WHILE @intSequenceId < = 255
	BEGIN
		
		SELECT @intRowCount = (SELECT COUNT(Set_ID) FROM EleSet WHERE Set_ID = @intSequenceId)
		IF @intRowCount = 0
		BEGIN
			SET @inySet_ID = @intSequenceId
			GOTO ID_FOUNDED
		END
		ELSE 				
			SET @intSequenceId = @intSequenceId + 1
			
	END 	

	IF @intSequenceId > 255
	RETURN 1
	
ID_FOUNDED:
		
SELECT @intErrorCode = @@ERROR

IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END

IF @intErrorCode = 0
BEGIN

	/* Insert EleSet */	
	INSERT EleSet(Set_ID,
				  Set_Name,
				  Set_Usage)
	VALUES		 (@inySet_ID,
				  @chvnName,
				  @inyUsage)
				  
	SELECT @intErrorCode = @@ERROR
END

IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
  
RETURN @intErrorCode
go

alter table FloorName drop
  column FloorName_Note;
go

commit;
go


更改存储过程( prDelete_EleGroup,prDelete_EleSet,prGetEleBaseInfoByGroup,prGetEleGroupBySet,prGetErrorLogs,prGet_EleGroup_EleCrtMap_InputArea,prInsertUpdate_EleGroup_EleCrtMap_InputArea,prInsert_EleBaseInfo,prInsert_EleGroup,prInsert_EleSet,prInsert_FloorName,prInsert_NodeInfo,prUpdate_EleBaseInfo,prUpdate_EleGroup,prUpdate_EleSet 中已更新了 11 个),可先更新剩余 4 个中的 prGetEleBaseInfoByGroup。
但不能直接更新,否则会出现错误

[Window Title]
AdeptSQL Diff (for MS SQL Server)

[Content]
Server reports error in SQL starting at line 10: 为视图或函数 'vEleBaseInfo' 指定的列名比其定义中的列多。

[OK]

仔细对比两个 vEleBaseInfo 视图的定义语句,发现有问题的是没有空行的,其余内容是相同的。(对问题感觉有些奇怪,搜索 has more column names specified than columns defined. 可以找到More columns name than defined...?! Problem in a view,或许有助于帮助理解)
可以先 drop 掉,再重新生成

drop view vEleBaseInfo;
go

重建

set xact_abort on;
go

begin transaction;
go

set ANSI_NULLS on;
go

create VIEW vEleBaseInfo
AS
SELECT dbo.EleBaseInfo.*, dbo.EleSet.*, dbo.EleGroup.*, dbo.EleType.*
FROM dbo.EleGroup INNER JOIN
      dbo.EleBaseInfo ON 
      dbo.EleGroup.Group_ID = dbo.EleBaseInfo.Ele_GroupID INNER JOIN
      dbo.EleSet ON dbo.EleGroup.Group_SetID = dbo.EleSet.Set_ID INNER JOIN
      dbo.EleType ON dbo.EleBaseInfo.Ele_TypeID = dbo.EleType.Type_ID
go

commit;
go

接着修改 prGetEleBaseInfoByGroup

set xact_abort on;
go

begin transaction;
go

set ANSI_NULLS on;
go

alter Procedure prGetEleBaseInfoByGroup
	/* Param List */
	@inyGroupID tinyint
AS
/******************************************************************************
**		File: prGetEleBaseInfoByGroup.sql
**		Name: prGetEleBaseInfoByGroup
**		Desc: 获取指定群的所有电梯记录
**
**		This template can be customized:
**              
**		Return values: 数据集
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		GroupID[群编号]
**
**		Auth: zjd
**		Date: 2004/09/22
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SELECT *
FROM vEleBaseInfo
WHERE Ele_GroupID = @inyGroupID
go

commit;
go


lonele.exe 程序可以打开使用,
也可再继续更新其余

set xact_abort on;
go

begin transaction;
go

set ANSI_NULLS on;
go

alter Procedure prGetErrorLogs
	/* Param List */
	(@TopOrLast as tinyint = 0,	-- Top:0 , Last>0
	 @intLogID as integer = null,
	 @dtmStartTime as datetime = null,
	 @dtmEndTime as datetime = null,
	 @insErrorID as smallint = null,
	 @inyErrorConfirmed as tinyint = null,
	 @inyErrorReportToRemes as tinyint = null,
	 @inyErrorRecovered as tinyint = null,
	 @inyEleTypeID as tinyint = null,
	 @inyEleSetID as tinyint = null,
	 @inyEleGroupID as tinyint = null,
	 @insEleID as smallint = null,
	 @PreviousID as integer = 0, -- last record from the previous batch.
	 @BatchSize as integer = 25)
AS

/******************************************************************************
**		File: prGetErrorLogs.sql
**		Name: prGetErrorLogs
**		Desc: 
**
**		This template can be customized:
**              
**		Return values:
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		LogID[故障履历编号]				-- TotoalRowCount[符合条件的记录数]
**		StartTime[故障发生时间段]
**		EndTime[故障发生时间段]
**		ErrorID[故障编号]
**		ErrorConfirmed[故障确认?]
**		ErrorReportToRemes[故障发送至监视中心?]
**		ErrorRecovered[故障恢复?]
**		EleTypeID[电梯类型编号]
**		EleSetID[电梯组编号]
**		EleGroupID[电梯群编号]
**		EleID[电梯编号]
**
**		Auth: zjd
**		Date: 2005/01/04
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/

set SET CONCAT_NULL_YIELDS_NULL OFF
-- set nocount on

declare @chvSelect varchar(8000),
		@chvFrom varchar(8000),
		@chvWhere varchar(8000),
		@chvMainWhere varchar(8000),
		@chvSubWhere varchar(8000),
		@chvOrderby varchar(8000),
		@chvSQL varchar(8000)
		
declare @intTotalQuery integer		

if @TopOrLast >0 
	begin
		set @chvMainWhere = ' WHERE '
							+ ' ErrLog_ID > '
							+ Convert(varchar,@PreviousID)
		set @chvOrderBy = ' ORDER BY ErrLog_ID ASC'
	end
else
	begin
		set @chvMainWhere = ' WHERE '
							+ ' ErrLog_ID < '
							+ Convert(varchar,@PreviousID)
		set @chvOrderBy = ' ORDER BY ErrLog_ID DESC'
	end
					
if @intLogID is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_ID = ' + CAST(@intLogID AS varchar(100)) + ' '
if @dtmStartTime is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_OccurTime > = ' + '''' + CONVERT(varchar(1000),@dtmStartTime,126) + '''' + ' '
if @dtmEndTime is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_OccurTime < = ' + '''' + CONVERT(varchar(1000),@dtmEndTime,126) + '''' + ' '
if @insErrorID is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_ErrCodeID = ' + CAST(@insErrorID AS varchar(100)) + ' '
if @inyErrorConfirmed is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_Confirmed = ' + CAST(@inyErrorConfirmed AS varchar(100)) + ' '
if @inyErrorReportToRemes is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrCode_ReportToRemes = ' + CAST(@inyErrorReportToRemes AS varchar(100)) + ' '
if @inyErrorRecovered is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_Recovered = ' + CAST(@inyErrorRecovered AS varchar(100)) + ' '
if @inyEleTypeID is not null
	set @chvSubWhere = @chvSubWhere + ' AND Type_ID = ' + CAST(@inyEleTypeID AS varchar(100)) + ' '
if @inyEleSetID is not null
	set @chvSubWhere = @chvSubWhere + ' AND Set_ID = ' + CAST(@inyEleSetID AS varchar(100)) + ' '
if @inyEleGroupID is not null
	set @chvSubWhere = @chvSubWhere + ' AND Group_ID = ' + CAST(@inyEleGroupID AS varchar(100)) + ' '
if @insEleID is not null
	set @chvSubWhere = @chvSubWhere + ' AND ErrLog_EleID = ' + CAST(@insEleID AS varchar(100)) + ' '
	
set @chvWhere = @chvMainWhere + @chvSubWhere
set @chvFrom = ' FROM vErrorLog '

set @chvSelect = 'SELECT Count(ErrLog_ID) '
set @chvSQL = @chvSelect + @chvFrom + @chvWhere + @chvOrderBy

set @chvSelect = 'SELECT top ' + Convert(varchar, @BatchSize)
				 + ' ErrLog_ID , ErrLog_ErrCodeID , ErrLog_Recovered , ErrLog_EleID , ErrLog_OccurTime , ErrLog_Confirmed , ErrLog_Notes , Ele_Name , Ele_TypeID , Ele_GroupID , ErrCode_Describe , ErrCode_ReportToRemes , Type_Name , Group_Name , Set_ID , Set_Name '
set @chvSQL = @chvSelect + @chvFrom + @chvWhere + @chvOrderBy

exec (@chvSQL)
go

alter Procedure prInsert_FloorName
	/* Param List */
	(@insFloorName_EleID smallint,
	 @inyFloorName_FloorNumber tinyint,
	 @chvnName nvarchar(20))
AS
/******************************************************************************
**		File: prInsert_FloorName.sql
**		Name: prInsert_FloorName
**		Desc: 设置指定电梯某楼层显示的名称
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		FloorName_EleID[电梯编号]
**		FloorName_FloorNumber[楼层]
**		Name[楼层显示]
**
**		Auth: zjd 
**		Date: 2004/09/07
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SET NOCOUNT ON
DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@inyFloorsNum tinyint
-- 检查当前设置的楼层不能大于电梯基本信息中所设置的楼层数
SELECT @inyFloorsNum = (SELECT Ele_FloorsNum FROM EleBaseInfo WHERE Ele_ID = @insFloorName_EleID)
IF @inyFloorName_FloorNumber > @inyFloorsNum
RETURN 1
		
SELECT @intErrorCode = @@ERROR
IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END
IF @intErrorCode = 0
BEGIN
	/* Insert FloorName */
	INSERT FloorName(FloorName_EleID,
					 FloorName_FloorNumber,
					 FloorName_Name)
    VALUES	        (@insFloorName_EleID,
					 @inyFloorName_FloorNumber,
					 @chvnName)
				  
	SELECT @intErrorCode = @@ERROR
END
IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
  
RETURN @intErrorCode
go

alter Procedure prInsert_NodeInfo
	/* Param List */
	(@insNode_ID smallint = NULL OUTPUT,
	 @insEleID smallint,
	 @inyUseForID tinyint,
	 @chrnNeuronID nchar(12) = NULL,
	 @chvnDomainId nvarchar(6) = NULL,
	 @insSubnetId smallint = NULL,
	 @insNodeId smallint = NULL,
	 @chrnAuthKey nchar(12) = NULL)
AS
/******************************************************************************
**		File: prInsert_NodeInfo.sql
**		Name: prInsert_NodeInfo
**		Desc: 向节点信息表中插入一条新的记录,节点编号1~2997。
**			  Elevator max:999
**			  Ncr max:999*2
**            Total max:999+999*2=2997					
**
**		This template can be customized:
**              
**		Return values: ErrorCode (0 成功,非0 失败)
** 
**		Called by:   
**              
**		Parameters:
**		Input							Output
**      ----------						-----------
**		EleID[对应电梯编号]				Node_ID[节点编号]
**		UseForID[节点用途编号]
**		NeuronID[节点芯片编号]
**		DomainId[节点的域地址]
**		SubnetId[节点的子网地址]
**		NodeId[节点的节点地址]		
**		AuthKey[节点密码]		
**
**		Auth: zjd
**		Date: 2004/09/07
*******************************************************************************
**		Change History
*******************************************************************************
**		Date:		Author:				Description:
**		--------	--------			-------------------------------------------
**    
*******************************************************************************/
SET NOCOUNT ON
DECLARE @intErrorCode int,
		@intTransactionCountOnEntry int,
		@intRowCount int,
		@intSequenceId int
		
	/* 检索可用的编号:1~2997之间 */
	SET @intSequenceId = 1
	WHILE @intSequenceId < = 2997
	BEGIN
		
		SELECT @intRowCount = (SELECT COUNT(Node_ID) FROM NodeInfo WHERE Node_ID = @intSequenceId)
		IF @intRowCount = 0
		BEGIN
			SET @insNode_ID = @intSequenceId
			GOTO ID_FOUNDED
		END
		ELSE 				
			SET @intSequenceId = @intSequenceId + 1
			
	END 	
	IF @intSequenceId > 2997
	RETURN 1
	
ID_FOUNDED:
		
SELECT @intErrorCode = @@ERROR
IF @intErrorCode = 0
BEGIN
	SELECT @intTransactionCountOnEntry = @@TRANCOUNT
	BEGIN TRANSACTION
END
IF @intErrorCode = 0
BEGIN
	/* Insert NodeInfo */
		
	INSERT NodeInfo(Node_ID,
					Node_EleID,
					Node_UseForID,
					Node_NeuronID,
					Node_DomainId,
					Node_SubnetId,
					Node_NodeId,
					Node_AuthKey)
	VALUES		   (@insNode_ID,
					@insEleID,
					@inyUseForID,
					@chrnNeuronID,
					@chvnDomainId,
					@insSubnetId,
					@insNodeId,
					@chrnAuthKey)
				  
	SELECT @intErrorCode = @@ERROR
END
IF @@TRANCOUNT > @intTransactionCountOnEntry
BEGIN
	IF @intErrorCode = 0
		COMMIT TRANSACTION
	ELSE
		ROLLBACK TRANSACTION
END
  
RETURN @intErrorCode
go

commit;
go


当然也有其他的更改路径,比如直接 alter table alter column 5 个表中各个有变动的列的属性,然后再更新 prGetEleBaseInfoByGroup 等存储过程。