Sql 从另一台服务器调用时,存储过程返回不同的结果
我在Server1中创建了一个存储过程,它返回正确的结果 然后在Server2上,我只是通过链接服务器执行Server1存储过程 首先,Server2上的返回结果与Server1相同 但在1或2天后,Server2会在某些数据中返回一些空值。但是Server1仍然返回正确的结果 结果服务器1:Sql 从另一台服务器调用时,存储过程返回不同的结果,sql,sql-server,stored-procedures,sql-server-2012,Sql,Sql Server,Stored Procedures,Sql Server 2012,我在Server1中创建了一个存储过程,它返回正确的结果 然后在Server2上,我只是通过链接服务器执行Server1存储过程 首先,Server2上的返回结果与Server1相同 但在1或2天后,Server2会在某些数据中返回一些空值。但是Server1仍然返回正确的结果 结果服务器1: Id Name Location Age 1 Alex USA 20 2 Bob UK 23 3 Davi
Id Name Location Age
1 Alex USA 20
2 Bob UK 23
3 David JP 25
4 Don UK 24
Seq Name Location Category
1 Bob UK 20
2 Bob UK 23
结果服务器2:
Id Name Location Age
1 Alex USA 20
2 Bob NULL NULL
3 David NULL NULL
4 Don UK 24
Seq Name Location Category
1 Bob UK 23
2 Bob UK 20
我只能通过重新编译Server1存储过程暂时解决这个问题。
服务器2将得到正确的结果,但2天后,同样的问题再次出现
20190920更新。。。。。包括存储过程查询的示例
仅供参考:这些列CASE语句中会出现一些null值
所有这些,。。。是输入
@输出被声明为表。
上面的@Output表中有很多insert语句
从中选择*
选择tbla.SiteName、tbla.FromWorkCenter、tbla.Category、tbla.MaterialName、tbla.OperSeq
,tbla.FromOperSeq,tbla.StepIndex,tbla.FromStepIndex,SUMtbla.CFqty
从…起
选择tbl.SiteName
案例
当tbl.RouteName类似于“%REWORK%”时,则为“PS-”+tbl.ToWorkCenter
当isnulltbl.FromWorkCenter时,'WRH'='WRH'然后
选择“TWH”时的案例源,然后选择“TWH”,然后选择“LWH”,然后选择“LWH”,否则选择“WRH”结束作为源
来自DIM_物料ddm,其中ddm.MaterialName=tbl.MaterialName
和ddm.mainContegory_wk=从DIM_Category dc中选择前1个dc.key_wk,其中dc.Category=TBL.Category
else“PS-”+dw.WorkCenterName结束于FromWorkCenter
,类别,待定材料名称,待定路线名称
,当“0”时,案例tbl.OperSeq,然后是“10”,否则tbl.OperSeq结束为OperSeq
,当“0”时为rsd2.OperSeq,然后为“10”,否则rsd2.OperSeq结束于OperSeq
,当rsd.RouteName类似“%REWORK%”时,则为
从尺寸材料a中选择顶部1 c.StepIndex
在a上连接尺寸材料结构b。键=b。材料
在b.RouteName=c.RouteName和c.OperSeq=tbl.OperSeq和OperSeqFlag='TRUE'上加入DIM_RouteDetail c
在b.AUDIT\u id=d.AUDIT\u id和d.post\u end\u dt上加入AUDIT\u作业d我发现了问题。
结果表明,当从本地和远程查询时,数据序列是不同的
结果服务器1:
Id Name Location Age
1 Alex USA 20
2 Bob UK 23
3 David JP 25
4 Don UK 24
Seq Name Location Category
1 Bob UK 20
2 Bob UK 23
结果服务器2:
Id Name Location Age
1 Alex USA 20
2 Bob NULL NULL
3 David NULL NULL
4 Don UK 24
Seq Name Location Category
1 Bob UK 23
2 Bob UK 20
因此,当筛选某些数据时,由于结果为null而未正确连接时,您可以发布存储过程吗?您能告诉我们:a。@Date赋值,以及b@输出查询?我假设@Company和@Site是SP的输入。@Date也是输入吗?所有的@。。。是输入,@output被声明为表。简单问一下,这个表有聚集索引吗?