我想知道是否有办法在表上指定条件,我的意思是我需要在某些条件下限制查询,例如状态,这样我就不必在所有选择查询中重写状态条件我在申请表中已经有了。
谢谢
答案 0 :(得分:1)
您有两个主要选择:
您可以将约束应用于强制执行相关条件的基表。这限制了可以驻留在表中的数据,但如果您确实从不想要执行不包含给定条件的查询,那么在表中存储任何失败的数据都没有意义满足条件。
您可以在数据库中创建根据相关条件过滤基表的视图,并根据这些视图编写查询。这不会限制基表的内容,但它提供了编写查询的快捷方式。
我在你想要的评论中问你(不那么冗长),你说“是”。因此,我提出了两种备选方案的细节。
在Oracle中,创建表约束的语法遵循以下模式:
ALTER TABLE my_table ADD CONSTRAINT [optional_constraint_name]
CHECK (<condition(s)>);
在Oracle中,创建视图的语法可能遵循以下模式:
CREATE VIEW my_view AS SELECT * FROM my_table WHERE <conditions>;
选择符合您需求的方法,并查阅文档以获取相应声明的完整详细信息。