stored-procedures - Informix 12.1 如何根据 case 子句中的条件选择条件
问题描述
| 在这样的过程中有一个查询:
{
table1
column1 column2 column3 column4
a a x 1
b b y 4
c c y 4
d c y 4
}
CREATE PROCEDURE PROCEDURE1(input1 smallint)
insert into table1
select
column1,column2,column3,column4
From
Table1
WHERE
column1 not in ('a','b')
AND
CASE
WHEN input1=1 THEN "column2 in ('a' ,'b')" --lead to syntax error and with quote, i.e. : "column2 in (a ,b)" lead to boolean expression error
WHEN input1=2 THEN "column3 in ('x' ,'y')"
ELSE "column4 not in ('1' ,'2')"
END;
END PROCEDURE;
如果使用 quote 输入 Case 子句中的 Condition 字符串,我会收到此错误:
"Result of a boolean expression is not of boolean type"
如果我从 in Case 子句中的条件字符串中删除引号,我会收到语法错误。
有人可以帮忙吗?
(使用 PREPARE 语句有这个问题)
解决方案
推荐阅读
- c# - 我的物体移动不顺畅
- google-chrome - 将 Chrome/V8 --trace-gc 输出写入文件 - 标准输出重定向不起作用
- laravel - Laravel,在 Eloquent 和 Laravel 的模型上使用内连接进行嵌套 SQL 查询
- amazon-web-services - 使用 NGINX 和 Rails ActionCable 的 Websocket
- r - R:确定列表中的数据帧是否相同
- java - MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0
- php - PHP中的空白字段
- javascript - 如何找到矩形的最小值和最大值?
- sql - 根据日期 SQL 删除旧记录
- python - 绘制具有不相等元素的条形组