如何为特定用户更改表? [SQL Oracle]

时间:2016-08-24 08:41:32

标签: sql oracle

在SQL Developer中,在一个连接下,我们可以有很多用户。现在,我正在尝试为特定用户更改表,但我一直没有这样做。

这是我的代码:

ALTER TABLE USER_NAME.VIEW_NAME
ADD new_view_column VARCHAR(250),
ADD CONSTRAINT FOREIGN KEY(new_view_column) REFERENCES USER_NAME.REFERENCE_TABLE_NAME(reference_column);

如果已经有类似的问题,你能帮忙给我链接吗?真诚的,我一直在寻找高低,但无处可寻。

否则,请就此事向我提出建议。谢谢。

1 个答案:

答案 0 :(得分:0)

SQL Developer将让您看到您拥有选择权限的任何对象;这并不意味着你可以修改对象,也许并不意味着你可以修改它们包含的数据。

要更改其他用户的表格,您需要直接向用户或通过角色授予the alter any table privilege

“any”权限虽然很强大,但只有在真正需要时才应授予 - which is true of any privilege当然,尤其是那些可能让用户在自己的架构之外引起问题的权限。

除非您的用户在DBA类型角色中确实需要在其他位置进行更改,否则对象的所有者应自行对其进行任何更改。如果您拥有该架构的凭据,则只需创建与这些架构的新连接,然后就可以直接以该用户进行更改。