查看参数?

时间:2010-06-21 12:17:46

标签: oracle view parameters

我是否正确地认为无法使用参数创建视图?

我有一个带查询的查询,在其where子句中我需要指定参数。指定视图的where子句无济于事。我想用参数调用简单视图而不是发送到数据库复杂的sql查询。怎么可能这样做?

<磷>氮

3 个答案:

答案 0 :(得分:6)

你提到“指定视图的哪个子句无济于事”。为什么不?我的建议是只创建一个没有参数的视图,并使用“select * from view where [your predicates with your parameters]”。

如果您真的想继续使用参数化视图,那么您可以在where子句中使用应用程序上下文。您可以在文档中了解它们:http://download.oracle.com/docs/cd/E11882_01/network.112/e10574/app_context.htm#DBSEG011

here就是一个例子。

此致 罗布。

答案 1 :(得分:2)

您应该可以使用table-valued function

答案 2 :(得分:0)

试试这个: 在你的代码中:

`   ....
    RDB$SET_CONTEXT('USER_SESSION', 'VARNAME','VALUE');
    SELECT * FROM VIEW VIEWNAME;
    ...`
视图定义中的

    SELECT * FROM TABLENAME 
        WHERE FIELDNAME=RDB$GET_CONTEXT('USER_SESSION', 'VARNAME');

就是。