【发布时间】:2014-10-24 07:41:09
【问题描述】:
当我运行跨模式更新查询时,我收到错误消息:
ORA-01031: 权限不足 01031. 00000 - “权限不足”。
详情如下:
我正在尝试从 CAT 架构中的视图 (my_vw_product_price_info) 填充 prod 架构中的表 (my_prod_price_tracking)。
my_prod_price_tracking (table)Prod Schema.
my_vw_product_price_info (view)- CAT schema.
我已将 my_vw_product_price_info 上的授权选择授予 prod。所以内部 Select 查询工作正常。但是当我运行更新脚本时,我得到“ORA-01031:权限不足”错误。
请让我知道我哪里出错了。
下面是查询:
update (
select a.price_range_low current_lowest_price,
a.price_range_low lowest_price,
a.last_price_range_low last_lowest_price,
a.price_range_low_update_time,
b.lowest_price new_lowest_price
from my_prod_price_tracking a,
CATA.my_vw_product_price_info b
where a.product_id = b.product_id and
a.price_list_id = b.price_list_id and
a.price_range_low <> b.lowest_price
)up
set up.lowest_price = up.new_lowest_price,
up.last_lowest_price = up.current_lowest_price,
up.lowest_price_update_dt = sysdate
【问题讨论】:
-
删除了 mysql 和 sql-server 标签。
-
错误不是很明显吗?您没有 Prod.my_prod_price_tracking 的更新权限?
-
错误信息是不言自明的。您对一个或两个数据库没有适当的权限。与您的 DBA 或具有管理员权限的人交谈。
-
戈丹,感谢您的快速回复。我们的项目中没有DBA,需要自己解决。这里的表“my_prod_price_tracking”是在 Prod 模式中创建的,它是所有 CRUD 权限。我的目标是从 CAT 模式中存在的视图更新“my_prod_price_tracking”表。对于我已将 Select 授予 Prod 架构的视图。内部选择查询工作正常,但更新查询失败。我在 prod 模式中运行此查询。在这里,我正在更新 prod 架构中存在的 my_prod_price_tracking 表,而不是视图。
-
你可以试试
GRANT SELECT, INSERT, UPDATE, DELETE ON MY_PROD_PRICE_TRACKING TO PUBLIC和GRANT SELECT, INSERT, UPDATE, DELETE ON MY_VW_PRODUCT_PRICE_INFO TO PUBLIC。您可能需要以拥有用户身份登录才能执行此操作。祝你好运。