我正在使用 DB2 数据库。
我有一个像这样的查询:
DELETE FROM MYSCHEMA.MY_TABLE WHERE (PROD LIKE 'AB%' OR PROD LIKE 'CD%' OR PROD LIKE 'EF%');
上面的查询存在于属性文件中,我正在使用 java 程序执行它。
但是,现在我想将 where 条件外部化。
我创建了一个新表 PROD_LIKE,它有一个单列 PROD_NAME,条目如下:
PROD_NAME
------------
AB
CD
EF
------------
我想修改删除查询的 where 条件,以便它使用上面新创建的表中存在的条目。
我怎样才能实现它?
DB2 文档说:
解决问题 尽管 SQL Server 或 Oracle 等其他数据库允许在“相似”比较中对两个操作数使用数据库列,但 DB2 的限制更大。当查询数据库是 DB2 时,必须避免上述计算或选择。在查询 DB2 并在比较中使用“like”时,无法使用数据库列作为第二个操作数。
有什么替代方法呢?