【发布时间】:2021-02-03 17:17:03
【问题描述】:
有没有办法将一组代码存储到Oracle SQL中的变量中?
我有这些代码,我需要在查询的不同部分使用它们。
但我不会在我的 SQL 代码中的很多地方重复这个列表。
'G31', 'G310', 'G311', 'G312', 'G318', 'G319', 'G239', 'G122', 'G710',
'B20', 'B22', 'B23', 'B24', 'G35', 'C811', 'G37', 'G375', 'K702', 'K741'
我想做类似这样的想法:
LIST <- ['G31', 'G310', 'G311', 'G312', 'G318', 'G319', 'G239', 'G122', 'G710',
'B20', 'B22', 'B23', 'B24', 'G35', 'C811', 'G37', 'G375', 'K702', 'K741']
SELECT * FROM TABLE_A where COLUMN IN [LIST];
SELECT * FROM TABLE_B where COLUMN IN [LIST];
【问题讨论】:
-
您可以将它们放在一个表中,然后加入或子查询它。
-
我希望数据库中有一个查找表来定义所有可能的代码。如果您有查询要查找一堆不同的代码,这强烈暗示应该将某些属性定义为查询可以引用的查找表的列。因此,如果这些都是冰淇淋口味的代码,并且您已经获得了用于过敏查询的所有涉及花生的代码列表,那么将
has_peanuts标志添加到ice_cream表中是有意义的,其中存储所有可能的代码。 -
什么是“SQL 代码”? SQL 是一种查询语言,它并没有像您的示例中那样真正具有变量。 PL/SQL 确实如此,因为它是一种编程语言,但这是一个完全不同的问题。
标签: sql oracle oracle-sqldeveloper