在什么情况下可以接受使用T-SQL GOTO语句?

Nor*_*n H 5 sql t-sql coding-style goto

在关于Microsoft T-SQL代码格式的"宗教"讨论中,我质疑GOTO语句是否仍然以T-SQL语法提供.在使用T-SQL的13年中,我从来没有机会使用它,并且确实不知道它是否存在.在简要搜索文档后,我确实感到惊讶,确实存在!

我的问题是:

至少一个案例,其中GOTO语句将产生一个解决方案进行比一个好,其中使用了其它高阶编程结构?

  • 加密算法实现

我的问题不是:

  • 如何在不创建完整功能的情况下使用少量功能?
  • 如何在不复制/粘贴的情况下复制错误处理功能?

Gor*_*off 5

我几乎从不使用GOTO,没有它就可以轻松生活.

我考虑使用它的一种情况是当我有复杂的代码进行大量的错误检查.我可能想在错误返回时采取一些操作,并GOTO允许我为错误检查定义单个代码块.

您可以通过多种方式解决此问题,但这GOTO是一个合理的选项,可确保一致地处理错误,并且代码不会被大量if @Error = 0 . . .语句混乱.