sql - 使用 IF..ELSE IF 控制 T-SQL SP 中的流程 - 还有其他方法吗?

标签 sql sql-server tsql sql-server-2008

我需要将我的 T-SQL 存储过程 (MS SQL 2008) 控制流分支到多个方向:

CREATE PROCEDURE [fooBar]
   @inputParam INT
AS
BEGIN
  IF @inputParam = 1
  BEGIN
    ...
  END
  ELSE IF @inputParam = 3
  BEGIN
    ...
  END
  ELSE IF @inputParam = 3
  BEGIN
    ...
  END
END

还有其他方法吗?例如,在 C# 中,我应该使用 switch-case block 。

最佳答案

IF...ELSE... 几乎就是我们在 T-SQL 中所拥有的。没有什么比结构化编程的 CASE 语句更好的了。如果您有一组扩展的 ...ELSE IF... 需要处理,请务必在每个 block 中包含 BEGIN...END 以使事情清晰,并且永远记住,一致的缩进是您的 friend !

关于sql - 使用 IF..ELSE IF 控制 T-SQL SP 中的流程 - 还有其他方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562160/

相关文章:

sql - 比较字符串时修剪空格 - sql

SQL内插字符串

java - 使用 JdbcSimpleCall 从存储过程中获取结构的 pl/sql 数组

sql - 需要了解多个连接 - 左外连接、右外连接、全外连接如何在单个 SQL 查询中工作

sql-server - 如果相同的 id 重复,则限制行数

sql-server - 将 "Available Databases"下拉菜单添加到 SSMS 中的自定义工具栏

sql - 聚合函数的where子句条件

sql - 根据其他表分组分组

mysql - 我怎样才能加入空?

arrays - 如何使用服务器 2016 中的新 tsql json 获取结果中的 json 数组值?