oracle中对象命名问题

shahand 2004-01-17 02:40:58
oracle中对象命名问题


在一个命名空间中,不能有有相同名字的对象
1.对于SCHEMA对象:
1.1同一用户的TABLES、VIEWS、SEQUENCES、PRIVATE SYNONYMS、STAND_ALONE PROCEDURES、STAND_ALONE FUNCTIONS、PACKAGES、SNAPSHOTS在一个namespace中
1.2同一个用户的INDEXES、CONSTRAINTS、CLUSTERS、DATABASE TRIGGERS、PRIVATE DATABASE LINKS在一个namespace中

2.对于非NONSCHEMA对象:
2.1整个数据库的USER ROLES、PUBLIC SYNONYMS、PUBLIC DATABASE LINKS在一个namespace中
2.2整个数据库的TABLESPACES、ROLLBACK SEGMENTS、PROFILES在一个namespace中
参考:
Oracle8 SQL Reference,Realease 8.0

在口岸系统中
PUB_PARA用户存在CTA_ERR表、同时PUB_CHK用户也有CTA_ERR表,并建立一个PUBLIC SYNONYM 也叫CTA_ERR,程序以PUB_PARA用户登陆数据库,访问CTA_ERR,数据库,那么数据库如何决定使用那个表,规则如下:
1.是否在当前用户下存在该表
2.是否在当前用户下存在该视图
3.是否存在一个表或视图的私有同名
4.是否存在一个公共同名

...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧