Java 如何在oracle中定义表的默认where子句
有些查询的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]
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,等等)中。