永发信息网

在SQL*Plus里面已经显示创建表成功了,可是后面为什么又说表不存在呢?

答案:3  悬赏:0  手机版
解决时间 2021-01-10 04:30
在SQL*Plus里面已经显示创建表成功了,可是后面为什么又说表不存在呢?
最佳答案
出现错误的原因是创建User和LoginInfo这两个表的账号是UserManAdmin,而在下面进行查询的时候,登陆账号并不是UserManAdmin,如果没有创建同义词或者,表名前没有加上 创建者的前缀就会报"表或视图不存在"的错误,解决办法有2种:
1,创建同义词:CREATE SYNONYM Users FOR UserManAdmin.Users;
CREATE SYNONYM LoginInfo FOR UserManAdmin.LoginInfo;
2,查询时带上 创建者 前缀:FROM UserManAdmin.Users u INNER JOIN UserManAdmin.LoginInfo l ...
全部回答
加一个用户名,比如scott.LoginInfo
试试看
你创建表的时候shi
CREATE TABLE UserManAdmin.Users ...
也就是这个 Users 表, 是被创建在 UserManAdmin 下面了。
那个 LoginInfo 的, 也是一样。
我不知道你当前这个登录用户, 是不是 UserManAdmin
你可以在创建表以后
DESC Users
DESC LoginInfo
来看看 这两个表的 表结构。
如果报错, 提示表不存在的话, 那么可能是你当前的登录用户名, 不是 UserManAdmin 的缘故了。
你可以在 后面的查询语句那里
FROM UserManAdmin.Users u INNER JOIN UserManAdmin.LoginInfo l ...
来指定, 是UserManAdmin 下面的表, 而不是当前用户的表。追问可是课本要求实现连接查询,以SYSTEM用户登录,然后执行这段代码。追答我已经把出现问题的原因告诉你了。
你现在是想怎么样呢?
是 把
CREATE TABLE UserManAdmin.Users .
修改 为
CREATE TABLE Users .

还是 把
FROM Users u INNER JOIN LoginInfo l
修改为
FROM UserManAdmin.Users u INNER JOIN UserManAdmin.LoginInfo l

还是 想 不修改上面的语句?
不修改语句的话, 你可以创建 同义词
CREATE SYNONYM Users FOR UserManAdmin.Users;
CREATE SYNONYM LoginInfo FOR UserManAdmin.LoginInfo;
如果你什么语句也不想改, 同义词也不想创建, 那我就没办法了。追问可以了。。谢谢指点~!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
感觉到周围的人对我说我没种,早该死了
单选题从工程的安全性、稳定性等方面考虑,修
某宝代刷评级,结果账号被冻结,提示删除征服
什么地方有需要鸭粪的
网桥poe供电,那么45和78两根线还能用来传输
dnf宠物春节宝珠用什么调属性
姚晨迷们,你们为什么喜欢姚晨
散热片到底用比热容大的好还是小的好?(按常
S229/Y207(路口)在什么地方啊,我要过去处理
昆山有哪些电子城?越具体越好,谢谢。
max3232在protel 99 哪个库
电工的基本常理
华硕P5L-MX/IPAT的跳线如何接,有点看不
去文字。。
在山西养牛,牛棚最好盖成什么样
推荐资讯
彭鸿禹在电影里扮演的马家的传人还会放龙是神
体育场地用200wled投光灯流明
九日齐山登高这首是表达了怎样复杂的情感?
乔姓氏的由来
微博和新浪微博有什么不一样?
17岁没有谈过恋爱,正常吗?
博将资本收到BP,之后给我回复了一个邮件,请
真皮包包如何防止氧化?
请问这算不算被坑? 我从朋友那里得到了。 am
凯里到遵义有几班客车车?分别是什么?几点发
什么地方可以看DNF全职业、全技能的视频介绍
曲靖市海拔
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?