- 论坛徽章:
- 0
|
存储过程如下:里面写到两个服务器,其中一个是连接服务器,请问,如何判断连接服务器处于活动状态呢?
Create Procedure sp_bjDegree_tj
@kind char( ,
@nyr char( ,
@sfm char(9),
@state char(2),
@group char(24),
@obj0 char(24),
@obj1 char(24),
@obj2 char(24),
@obj3 char(24),
@category smallint
As
declare
@tjCategory char(4),
@svrName char(20),
@tabNameBj char(20),
@tabNameDyc char(20),
@execStr char(1000)
begin
if @category = 0 --限电
set @tjCategory = \'83\'
else if @category = 1 --检修
set @tjCategory = \'92\'
else if @category = 2 --事故
set @tjCategory = \'81\'
if @@servername=\'servera\'
set @svrname=\'serverb\'
if @@servername=\'serverb\'
set @svrname=\'servera\'
if @@servername=\'server1\'
set @svrname=\'server2\'
if @@servername=\'server2\'
set @svrname=\'server1\'
set @tabNameDyc = \'hisdb.dbo.dyc\' + substring(@nyr,1,6)
set @execStr = \'update \' + @tabNameDyc + \' set data = data - 1 where ddate = \' +
datediff(dd,\'1970-01-01\',@nyr) + \' and flag = \' + @tjCategory +
\' and sname = \'\'\' + rtrim(@obj0) + \'\'\'\'
exec (@execStr)
set @execStr = \'update \' + @svrname + \'.\' + @tabNameDyc + \' set data = data - 1 where ddate = \' +
datediff(dd,\'1970-01-01\',@nyr) + \' and flag = \' + @tjCategory +
\' and sname = \'\'\' + rtrim(@obj0) + \'\'\'\'
exec (@execStr)--
end; --sp_bjDegree_tj
Go |
|