gpt4 book ai didi

sql - TSQL-重新排列代码中的sql作业步骤顺序

转载 作者:行者123 更新时间:2023-12-01 01:12:07 24 4
gpt4 key购买 nike

我有一些 SQL 维护作业,它们有超过 50 个作业步骤。有时,需要为这些可怕的 SQL 作业之一添加一两个步骤。我的问题是我更喜欢按字母顺序排列每个步骤(如果可能),但要完成此操作,我需要无数次按下向上箭头并等待屏幕刷新。我查看了 sp_update 作业程序,它们似乎没有解决这个问题。

有没有办法在代码中实现这一点?

最佳答案

我在尝试重新排序步骤而不将它们全部清除并重新添加时发现了这个问题。

为了解决这种情况,我有一个三步过程:
(假设只有一个步骤乱序,或者现有的步骤都是按 alpha 顺序排列的)

1) 如有必要,删除要重新排序的步骤。 (如果您需要任何现有值,您应该对 msdb.dbo.sysjobsteps 使用选择)

EXEC msdb.dbo.sp_delete_jobstep @job_id = @YOURJOBID, @step_id = @OUTOFORDERSTEPID

2)使用比较来获得您的新步骤应该处于的位置。
@newStepPosition = SELECT MIN(step_id) FROM msdb.dbo.sysjobsteps WHERE job_id = @YOURJOBID AND step_name > N'YOURNEWSTEPNAME'

3) 只需添加作业步骤,指定位置。所有现有的步骤将洗牌。例如在 3 处插入将插入 3 到 4、4 到 5 等。
EXEC msdb.dbo.sp_add_jobstep @job_id=@YOURJOBID, @step_name=N'YOURNEWSTEPNAME',
@step_id=@newStepPosition,
etc...

使用 MS SQL Server 2008 R2 进行测试。希望对其他人有帮助。

关于sql - TSQL-重新排列代码中的sql作业步骤顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14817424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com