我需要根据oracle数据库上的用户创建视图 为此,使用System I使用以下查询:
CREATE OR REPLACE VIEW PROT_VIEW AS SELECT USER_ID, ORDER_DATE, ORDER_DESC
FROM PROT
WHERE USER_ID=USER;
表及其值如下:
CREATE TABLE PROT(
USER_ID VARCHAR2(10),
ORDER_DATE DATE,
ORDER_DESC VARCHAR2(60));
INSERT INTO PROT VALUES ('ADM',SYSDATE+4,'FOUR DAYS LATER');
INSERT INTO PROT VALUES ('ADM',SYSDATE+5,'FIVE DAYS LATER');
INSERT INTO PROT VALUES ('STUD1',SYSDATE+6,'SIX DAYS LATER');
INSERT INTO PROT VALUES ('STUD2',SYSDATE+7,'SEVEN DAYS LATER') ;
在此之后我有3个不同的用户(adm,stud1和stud2),当我登录时,我应该从每个选择中获得3个不同的结果(每个用户一个)(取决于用户记录)。 / p>
问题是,无论我登录的是哪个用户(system,adm,stud1,stud2),我都会得到空表。
我想知道我做错了什么,我该怎么做才能解决这个问题
提前感谢任何愿意提供帮助的人
更新:我一直在搞乱,问题是我无法连接到这些用户。我已经向这些用户授予了与系统的创建会话,并尝试连接到他们,但我被困在系统
答案 0 :(得分:0)
完成此任务的好方法是在我看来使用public synonym
。
在系统架构上创建视图(prot_view
)后,创建一个与视图同名的公共同义词:
create or replace public synonym prot_view for prot_view;
并发出:
grant select on prot_view to public;
能够从每个模式获得所需的结果,而无需使用system
模式名称作为前缀:
select * from prot_view;
答案 1 :(得分:0)
"问题是我无法连接到这些用户"
user
是一个pseduo列,它返回您当前连接的帐户的名称。您已以SYSTEM身份登录,因此user
的值为create session
,这就是您的视图未返回任何行的原因。因此,与您的问题标题相反,视图限制 正在运行。
这意味着真正的问题是,为什么你不能像其他用户那样连接?您拥有SYSTEM,因此您拥有必要的权限,可以通过将密码更改为您知道或授予<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroudColor"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="150sp"
android:background="@color/colorAccent"
android:id="@+id/relative">
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="30dp"
android:paddingRight="15dp"
android:text="30"
android:textSize="62sp"
/>
<TextView
android:id="@+id/weekDay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Monday"
android:textSize="26sp"
android:layout_toRightOf="@+id/date"
android:layout_alignTop="@+id/date"
android:paddingTop="10dp"
/>
<TextView
android:id="@+id/dateMonthYear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="January 2016"
android:layout_toRightOf="@+id/date"
android:layout_marginTop="70dp"
android:paddingTop="5dp"
/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#e74c3c"
android:id="@+id/fajar">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fajar"
android:layout_gravity="center_vertical"
android:textSize="26sp"
android:paddingStart="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#2ecc71"
android:id="@+id/zuhar">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Zuhar"
android:layout_gravity="center_vertical"
android:textSize="26sp"
android:paddingStart="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#3498db"
android:id="@+id/asar">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Asar"
android:layout_gravity="center_vertical"
android:textSize="26sp"
android:paddingStart="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#9b59b6"
android:id="@+id/maghrib">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Maghrib"
android:layout_gravity="center_vertical"
android:textSize="26sp"
android:paddingStart="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#f1c40f"
android:id="@+id/isha">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isha"
android:layout_gravity="center_vertical"
android:textSize="26sp"
android:paddingStart="10dp"/>
</LinearLayout>
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/backgroudColor">
<include layout="@layout/bottomsheet"/>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
或其他任何内容来理顺帐户。