Java 如何在oracle中定义表的默认where子句

Java 如何在oracle中定义表的默认where子句,java,oracle,Java,Oracle,有些查询的where子句具有相同的部分 问题一: select [some-selected column] from [TABLE_NAME] where [its-own-where-clause] and [shared-where-clause] 问题二: select [some-selected column] from [TABLE_NAME] where [its-own-where-clause] and [shared-where-clause]

有些查询的where子句具有相同的部分

问题一:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]
问题二:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]
问题三:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]
.
.
.
.

查询n:

select [some-selected column] 
  from [TABLE_NAME]
 where [its-own-where-clause]
   and [shared-where-clause]
如您所见,where子句中有两部分,第一部分属于其自己的查询业务,第二部分在所有这些查询之间共享。
显然,当
[sharedwhere子句]
发生更改时,必须更改上述所有查询

我想把where子句的shared部分放在其中,它的更改应用于所有这些查询

是否可以在oracle中创建视图

例如:

createtableperson(
人员ID号(10,0)主键不为空,
人员姓名nvarchar(100)不为空,
年龄编号(3,0)不为空,
性别字符(1)非空检查(性别输入('M','F'))
);
将男性视为
选择人员ID、人员姓名、年龄、性别
从个人
其中性别='M';
创建将女性视为
选择人员ID、人员姓名、年龄、性别
从个人
其中性别='F';
现在,我们可以查询不同年龄组的男性,而无需重复
性别
上的共享条件

选择*
来自男性
年龄在0到19岁之间;
挑选*
来自男性
年龄在20至49岁之间的;
挑选*
来自男性
其中年龄>=50岁;
创建一个视图

例如:

createtableperson(
人员ID号(10,0)主键不为空,
人员姓名nvarchar(100)不为空,
年龄编号(3,0)不为空,
性别字符(1)非空检查(性别输入('M','F'))
);
将男性视为
选择人员ID、人员姓名、年龄、性别
从个人
其中性别='M';
创建将女性视为
选择人员ID、人员姓名、年龄、性别
从个人
其中性别='F';
现在,我们可以查询不同年龄组的男性,而无需重复
性别
上的共享条件

选择*
来自男性
年龄在0到19岁之间;
挑选*
来自男性
年龄在20至49岁之间的;
挑选*
来自男性
其中年龄>=50岁;

。玩得高兴没有存储过程。可能吗?也许吧。但是您的用例有点奇怪。也许一个具体的例子会有所帮助。我已经有一段时间没有使用它了,但我认为它仍然包括在内(并且可以做到)。我支持一个具体示例的请求。您只能使用动态SQL来实现这一点。这意味着您需要将其包装在存储过程或其他编程工具(客户端程序集、SQL/J,如果您喜欢retro,等等)中。。玩得高兴没有存储过程。可能吗?也许吧。但是您的用例有点奇怪。也许一个具体的例子会有所帮助。我已经有一段时间没有使用它了,但我认为它仍然包括在内(并且可以做到)。我支持一个具体示例的请求。您只能使用动态SQL来实现这一点。这意味着您需要将其包装在存储过程或其他编程工具(客户端程序集、SQL/J,如果您喜欢retro,等等)中。