Oracle:表或视图不存在

时间:2019-04-09 14:26:48

标签: oracle ddl

我正在尝试使用Toad在Oracle中创建视图,并且获取错误表或视图不存在。

但是当我自己运行查询时,它会成功执行。可能是什么原因?

{% if properties is defined %}
            {% for property in properties %}
                <tr>
                    <td>{{ property.propertyCategory }}</td>
                    <td>{{ property.uniqueName }}</td>
                    <td>{{ property.address }}</td>
                    <td>{{ property.city }}</td>
                    <td>{{ property.zipCode }}</td>
                    <td>{{ property.rentExcludingCharges }} €</td>
                    <td>{{ property.charges }} €</td>
                    <td>{{ property.purchasePrice }} €</td>
                    <td>
                        <a href="{{ path('property_show', {'id': property.id}) }}">Voir</a>

                        {% if is_granted('ROLE_USER') %}
                            <a href="{{ path('property_edit', {'id': property.id}) }}"><i class="fas fa-edit"></i> édition</a>
                        {% endif %}
                    </td>
                </tr>
            {% endfor %}
        {% else %}
            <tr>
                <td colspan="16">Vous n'avez pas enregistré de propriétés</td>
            </tr>
        {% endif %}

1 个答案:

答案 0 :(得分:3)

这是权限,或者更确切地说,是授予权限的方式。 MGR用户具有查询来自角色的基础表的特权。 Oracle不允许我们使用角色的特权来构建视图或过程。这就是安全模型的工作方式。

解决方案是要求表所有者MIS_PERMAL(或超级用户(例如DBA))将MV_INDEX_PERFORMAMCE的SELECT特权直接授予MGR。