• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

写 sql语句时,一定要 "select * from 用户.表名" 这样吗?

tiger8000 2012-01-04 03:04:31
我刚刚接触 oracle10g数据库,以前从来没有碰 过 oracle 数据库

今天刚刚装了 oracle10g 数据库,在程序中写了一个 sql

string sql = "select * from Produt";
但是,程序提示说找不到表或视图

后来,我改了下

string sql = "select * from GuanUser.Produt";

这样就可以了,GuanUser 是我在 oracle 中建的用户。


但是,如果这样写的话, sql 通用性就差了,比如,换成了别的数据库
那 sql只需写 string sql = "select * from Produt"; 就行了


难道 换 oracle 的话,所有 sql 语句就都得重写储如 select * from 用户.表名 这样吗

请各位大侠赐教,非常感谢!!!







...全文
108 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tiger8000 2012-01-04
明白了,我的 web.config 连接数据库的写法是

以 system 用户登录 的,如果我改成

GuanUser1 登录后,就可该可以了,我试试,多谢这位 LuiseRADL
大哥了
回复
raymonshi 2012-01-04
是用什么方式连接的数据库?
检查,连接时,使用的哪个用户
回复
我心飞翔 2012-01-04
因为你不是用GuanUser这个用户登陆的(是用其它用户登录的)
所以用B用户登录,访问A用户所创建的数据库对象,必须加上前面的限定名。

当然如果用A用户登录,访问自己的对象,就不需要这个限定名了啊。
回复
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2012-01-04 03:04
社区公告
暂无公告