sqlsever存储过程在帆软上执行时间上

有一个存储过程, 在sqlsever上执行不到1秒, 但是在帆软上会执行很久都没有查询到结果, 这是为什么?应该怎么做  代码大致如下

USE [OTHER]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE  [dbo].[sjzz]

@公司 varchar(20)

,@年 int

,@月 int

AS

BEGIN

SET NOCOUNT ON;

SET ANSI_WARNINGS ON

CREATE TABLE #linshi

(

年 int

,月 int

,公司 varchar(50)

,类别 varchar(50)

,部门 varchar(50)

,金额 float

)

declare @l_error int

declare @l_trancnt int

select @l_trancnt = @@trancount

if @l_trancnt = 0

begin transaction  tran_sjzz

else

save transaction  tran_sjzz

delete from OTHER.DBO.testsjzzf where corp=@公司 and iyear=@年 and imonth=@月

INSERT INTO OTHER.DBO.testsjzzf

select * from test

select * from testsjzzf

END

微信截图_20220419164427.png

FineReport 柿柿 发布于 2022-4-19 16:45 (编辑于 2022-4-19 16:48)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-19 16:48(编辑于 2022-4-19 16:50)
  • 柿柿 柿柿(提问者) 没有 几十 ~200
    2022-04-19 16:49 
  • 柿柿 柿柿(提问者) 按年月就十几条 存储过程使用insert 就查询很久 如果不使用就很快 不知道是不是insert的问题
    2022-04-19 16:50 
  • CD20160914 CD20160914 回复 柿柿(提问者) 看一下上面的连接
    2022-04-19 16:51 
  • 柿柿 柿柿(提问者) 但在sqlsever上的查询速度很正常
    2022-04-19 16:52 
  • CD20160914 CD20160914 回复 柿柿(提问者) 上面的连接有说这样的情况。。你仔细看。。
    2022-04-19 16:52 
最佳回答
0
尹仕杰Lv6见习互助
发布于2022-4-19 16:48

是不是没给这个账号设置存储过程权限呢

  • 柿柿 柿柿(提问者) 不会 执行其他存储过程都能正常查询
    2022-04-19 16:51 
最佳回答
0
@Lv6资深互助
发布于2022-4-19 16:50

这个在智能运维里 修改一下时间就好了

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-19 17:00(编辑于 2022-4-19 17:06)

帆软上直接用exec sjzz '公司','2022','4'

不要用这个:

image.png

另外加上:

IF OBJECT_ID('TEMPDB..#linshi') IS NOT NULL

DROP TABLE  #linshi

  • 柿柿 柿柿(提问者) 不把数据存在临时表里怎么写才合适 想把数据放在数据库的某个表里 但是发现这样做在帆软上执行很久
    2022-04-19 17:15 
  • Z4u3z1 Z4u3z1 回复 柿柿(提问者) 上边的语句是:如果临时表存在就删除临时表,避免后面的create出错。先加上试试
    2022-04-19 17:22 
  • 4关注人数
  • 356浏览人数
  • 最后回答于:2022-4-19 17:06
    请选择关闭问题的原因
    确定 取消
    返回顶部