关于链接服务器操作,急,请指教
请教大家,链接服务器的操作语句写在存储过程里为什么执行效率会很低呢,在查询分析器里的速度却很快?如何改进它的执行效率
如下所示:
(链接服务器已经建立,发下为调用)
-- =============================================
-- Author: babau
-- date: 2 006-2-21
-- Description: *********
-- =============================================
CREATE PROCEDURE [dbo].[cp_UsersInfo_AddItemOfBoxPwd]
@UserName varchar(20),
@LoginPwd varchar(50),
@BoxPwd varchar(14)
AS
IF NOT EXISTS(SELECT ID FROM Users WHERE UserName = @UserName)
RETURN -1 --无此用户
IF NOT EXISTS(SELECT ID FROM Users WHERE UserName = @UserName AND Password = @LoginPwd)
RETURN -2 --登陆密码不正确
--使用事务来控制程序的正常执行
BEGIN TRANSACTION AddBoxPwd
UPDATE [Server1].[login_fs2].[dbo].Login_tb SET box_password = @BoxPwd WHERE username = @UserName
IF(@@ROWCOUNT = 0)
BEGIN
GOTO ErrorHandler
END
UPDATE [Server2].[login_fs2].[dbo].Login_tb SET box_password = @BoxPwd WHERE username = @UserName
IF(@@ROWCOUNT = 0)
BEGIN
GOTO ErrorHandler
END
UPDATE [Server3].[login_fs2].[dbo].Login_tb SET box_password = @BoxPwd WHERE username = @UserName
IF(@@ROWCOUNT = 0)
BEGIN
GOTO ErrorHandler
END
UPDATE [Server4].[login_fs2].[dbo].Login_tb SET box_password = @BoxPwd WHERE username = @UserName
IF(@@ROWCOUNT = 0)
BEGIN
GOTO ErrorHandler
END
--结束事务
COMMIT TRANSACTION AddBoxPwd
RETURN 0
ErrorHandler:
--回滚事务
ROLLBACK TRANSACTION AddBoxPwd
RETURN -3 --数据异常