sql - 尝试在存储过程中使用时,关键字 CASE 附近的语法不正确
问题描述
检查下面的 SQL 查询storedprocedure
。我正在尝试实现CASE
为@Query
变量设置一些值,但CASE
语法抛出错误:
关键字“CASE”附近的语法不正确。
DECLARE @Query AS VARCHAR(max);
CASE
WHEN @Type=1 THEN
SET @Query = ''
WHEN @Type=2 THEN
SET @Query = ''
WHEN @Type=3 THEN
SET @Query = ''
ELSE
SET @Query = '';
END;
解决方案
您想要在单个中使用的CASE
表达式SET
:
SET @query = (CASE WHEN @Type = 1 THEN ''
WHEN @Type = 2 THEN ''
WHEN @Type = 3 THEN ''
ELSE ''
END);
当然,您的所有内容都CASE
将值设置为''
,因此不需要条件逻辑。我假设您的实际代码具有不同的值。
推荐阅读
- recursion - 替换列表中的匹配项 - Racket
- docker - “docker run -i busybox sh”在 Windows 上因 \r 字符或“:未找到”而失败
- swift - 如何停止导航到另一个视图控制器 swift 5
- javascript - 输入自由文本输入 HTML 时的内联下拉列表选择
- python - 客户用户模型错误;ModuleNotFoundError:没有名为“帐户”的模块
- r - 如何禁用 R Datatable 中特定列的双击反应性
- python - time.time() 浮动对象没有属性错误
- regex - Ansible 从文件中复制 ssh 公钥,在 uri 调用中使用
- python - 熊猫,扩展数据框系列
- .net - 我们可以将 WEBSITE_LOAD_USER_PROFILE=1 添加到 web.config