Oracle Option关键字

时间:2010-02-15 09:34:31

标签: oracle option

我想问一下是否有人知道如何使用OPTION关键字。

我在我读过的旧C源代码中遇到过这个问题。

OPTION SELECT ROWID
FROM TABLE_1
WHERE PRODUCT_CODE = ANY(SELECT PRODUCT_CODE FROM PRODUCT_TABLE WHERE PRODUCT_GROUP='value a')
FOR UPDATE NOWAIT;
SELECT ROWID
FROM TABLE_2
WHERE PRODUCT_CODE = 'value b'
FOR UPDATE NOWAIT;
UPDATE TABLE_3
SET ...
WHERE PRODUCT_CD = 'value b'

*根据第一条评论更新了查询。基本上C代码用3 sql语句创建了一个SQL语句。然后从中得到了结果。我想知道如果你发表两个声明,oracle会返回什么。它会返回哪个select语句结果?还是只返回第二个,因为第一个是用OPTION关键字指定的?

3 个答案:

答案 0 :(得分:2)

您可以发布更多代码吗? OPTION是保留字,因此无法重新定义。

它通常用于以下操作:

GRANT CREATE INDEX TO user WITH ADMIN OPTION;

答案 1 :(得分:2)

书籍“Oracle数据库SQL语言参考”包含关键字“OPTION”。 http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authorization.htm#sthref821

答案 2 :(得分:2)

作为一个似乎没有意义的Oracle关键字。如果这是一个Pro * C文件,是否在某处定义了一个将OPTION设置为exec sql的宏,或者因为它看起来像是一个光标,exec sql declare something cursor for?虽然后者会将游标名称固定为something,所以每个文件只能使用一次;也许这是声明名为option ...

的游标的简写

查看更多代码可能会有所帮助。