使用CASE表达式代替动态SQL
作者: Echo, 出处:IT专家网, 责任编辑: 李书琴,
2008-03-19 16:51
【IT专家网独家】
问题:
我需要进行大量的SQL更新查询,而这些查询都需要我做出IF/ELSE之类的决定。我现在有的情况会使用光标,但是这样搜查上千行查找更新需要花很长时间。我有时候也使用一些动态SQL来决定某些查询参数。但是有没有更好的方法可以使用呢?
专家解答:
CASE语句是一个非常强大而有用的工具,你可以用它来解决你的SQL Server查询问题。你可能已经可以很熟练地在执行SELECT命令的时候使用它来模拟IF/ELSE从句处理。不过,它的功用可远远不限于这类型的处理。
CASE表达式可以用来:
- 用于更新行的时候,避免使用光标回路
- 在使用合计函数的时候执行专门的处理
- 创建动态ORDER BY和WHERE从句而无需使用动态SQL
现在让我们来看看一些应用例子:
首先,新建一个名为Customer的表,插入一些行:

- 本文关键词:

