在SSMS中,编辑存储过程时,如何使行号和错误号匹配?

发布于 2024-07-27 15:53:53 字数 340 浏览 2 评论 0原文

上面的问题措辞很糟糕(尽量简短)。 让我们再试一次:

在 Microsoft SQL Server Management Studio 中,当您编辑 SP 并在同一窗口中执行 SP 时,错误会显示在屏幕底部,您可以双击以突出显示导致错误的代码。 然而,这永远不会对齐,通常与实际错误相差 6 到 13 行,通常更低。 它将突出显示评论等内容。

有人知道如何让这些排列起来吗? T-SQL 中的一行由什么组成?

我已经尝试了所有正常的操作,例如将注释放在行内(无效),删除更改程序行之前的注释(无效),删除更改程序行之前的所有代码,例如 SET ANSI_NULLS ON 等(无效)。 奇怪的。

Terribly worded question above (trying to be short). Lets try that again:

In Microsoft SQL Server Management Studio, when you are editing an SP and execute the sp in the same window, errors show up at the bottom of the screen you can double click to highlight the code causing the error. However, this never lines up, usually being anywhere between 6 to 13 lines from the actual error, usually lower. It will highlight things like comments, etc.

Anyone know how to get these to line up? What constitutes a line in T-SQL?

I have tried all the normal things like putting comments in-line (no effect), removing comments before the alter procedure line (no effect), removing all code before the alter procedure line like SET ANSI_NULLS ON, etc (no effect). Odd.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

╰ゝ天使的微笑 2024-08-03 15:53:53

第 1 行错误 = 第一行是 sys.sql_modules,它可能是“ALTER PROCEDURE”,但也可能是空行。 对于批次来说是不同的,但问题是关于存储过程的。

VS 和 SSMS 的第 1 行 = 窗口中的第一行

因此,上面的 SET 内容 + 任何空白行都会导致差异。

解决方案:删除“ALTER PROC”上面的所有内容,因此这是第 1 行。

Line 1 for errors = the first line is sys.sql_modules which may be "ALTER PROCEDURE" but could be a blank line. it's different for batches, but the question is about stored procs.

Line 1 for VS and SSMS = 1st line in the window

So, the SET stuff above + any blank lines cause the difference.

Solution: remove everything above "ALTER PROC" so this is line 1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文