“sys”前缀在下面的含义是什么?

时间:2009-03-25 05:22:23

标签: sql oracle plsql

 select sys.database_name,sys.sysevent,sys.login_user from dual;

此查询中的sys是什么?


我能看到sys中的其他功能吗?
这样做的查询是什么?
在什么情况下这个系统有用?
哪些关于sys的信息存储在数据库中?

3 个答案:

答案 0 :(得分:2)

sys是系统架构。它包含支持rdbms的各种表和视图。

您可以查看oracle wiki文章,其中讨论了各种模式及其含义。

http://en.wikipedia.org/wiki/Oracle_database

答案 1 :(得分:2)

在许多数据库系统中,包括来自Oracle,Microsoft和Sybase的主要数据库产品,可以将相关数据库表组合在一起形成架构

一些大型系统(以及一些不那么大的系统)将此作为一种控制访问的方式,或者只是一种保持组织良好的方式。

例如,支持在线目录的表格(例如亚马逊或Barnes& Nobel)可能都是Marketing.*,订单履行Sales.*周围的表格和库存管理Stock.*周围的表格

您注意到的sys架构是系统表所在的位置 - 您可以查询的表以查找有关数据库其余部分的详细信息 - 例如列是否已存在。

答案 2 :(得分:2)

我同意Bevan的观点。以下是针对您的问题的一些答案:

(我假设你在谈论甲骨文)

  

我可以看到其他功能吗?   在sys?

是的,就像任何模式一样,您可以使用数据库开发工具(如Toad,PLSQL Developer或Oracle SQL Developer)查看sys中的过程,函数和包。但是我的经验表明,引用Oracle文档(在线免费提供)是了解可用功能的更好方法,而不是直接跳到源代码。

  

这样做的查询是什么?

我建议使用上面的一个开发工具。如果做不到这一点,请尝试:

select * from user_objects where type in ('PACKAGE', 'PROCEDURE', 'FUNCTION');

找到要查找的功能后,在SQLPlus中使用DESCRIBE命令来确定方法签名和数据类型。

  

这个系统在什么情况下有用?

SYS通常用作管理任务的超级用户,因为它具有比通用模式更多的权限。 SYS还包含许多Oracle所依赖的基础架构 - 不要乱用SYS拥有的对象。

  

有关sys的信息将存储在数据库中的哪个位置?

使用我上面建议的方法 - 但我建议您阅读在线文档,而不是直接进入源代码。