如何查存储过程所属的用户?如何查询Oracle中所有用户信息

精选笔记 bchgfjyf56547 2024-04-25 10:34 8 0

一、如何查询Oracle中所有用户信息

方法如下:

输入select* from dba_users;即可。

常用语句:

一,查看数据库里面所有用户:

select* from dba_users;

前提是你是有dba权限的帐号,如sys,system。

二,查看你能管理的所有用户:

select* from all_users;

三,查看当前用户信息:

select* fromuser_users;

扩展资料:

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。

此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。

这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c成为私有云和公有云部署的理想平台。

Oracle数据库具有完整的数据管理功能:

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

参考资料:百度百科:Oracle数据库

二、SQL命令查询Oracle存储过程信息

oracle数据库中,已建立好的存储过程信息存储在系统表ALL_SOURCE中,需要用sysdba身份登录数据库,进行查询操作,SQL命令如下:

SELECTline,textFROMALL_SOURCE

WHERETYPE='PROCEDURE'

ANDNAME='过程名称'

ANDOWNER='用户名'

ORDERBYline;

存储过程分成多行,每一行会存储为一条数据,所以,查询出来的会是多行,line表示行号。

ALL_SOURCE表中还存储了以下类型信息:

SQL>selectdistincttypefromall_source;

TYPE

------------

TYPE(对象)类型

TYPEBODY类型体

PROCEDURE存储过程

FUNCTION函数

TRIGGER触发器

PACKAGE包

PACKAGEBODY包体

三、Oracle 如何通过表查询存储过程名

1、第一种方法,打开PL/SQL,新建sql窗口。

2、输入过程的用户名及过程名,例如xxx.xxxx_xxxx,选中右击,选择view查看,选择edit编辑。

3、同样在PL/SQL中,打开Tool目录,确保Object Browser前面已打勾,然后口窗口右侧可以找到Objects小窗口,找到Procedures目录。

4、Objects小窗口中,点击<current user>,选择自己过程所在目录,如果是当前用户,则不用选择,然后展开Procedures目录,目录下即是过程名,可以找到自己需要的过程,右击选择view查看,选择edit编辑即可。

四、sql 存储过程查询语句

use MYTextDB----------使用MYTextDB数据库

CREATE PROCEDURE dbo.getUserList------------创建存储过程

as

set nocount on

begin-------------开始

select* from dbo.tbl_User-------------------定义SQL语句

end

go

EXEC dbo.getUserList---------------执行存储过程

在.NET的代码中调用:

'**通过Command对象调用存储过程**

DIM MyComm,MyRst

Set MyComm= Server.CreateObject("ADODB.Command")

MyComm.ActiveConnection= MyConStr'MyConStr是数据库连接字串

MyComm.CommandText="getUserList"'指定存储过程名

MyComm.CommandType= 4'表明这是一个存储过程

MyComm.Prepared= true'要求将SQL命令先行编译

Set MyRst= MyComm.Execute

Set MyComm= Nothing

存储过程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。

在以上代码中,CommandType属性表明请求的类型,取值及说明如下:

-1表明CommandText参数的类型无法确定

1表明CommandText是一般的命令类型

2表明CommandText参数是一个存在的表名称

4表明CommandText参数是一个存储过程的名称

还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:

'**通过Connection对象调用存储过程**

DIM MyConn,MyRst

Set MyConn= Server.CreateObject("ADODB.Connection")

MyConn.open MyConStr'MyConStr是数据库连接字串

Set MyRst= MyConn.Execute("getUserList",0,4)'最后一个参断含义同CommandType

Set MyConn= Nothing

'**通过Recordset对象调用存储过程**

DIM MyRst

Set MyRst= Server.CreateObject("ADODB.Recordset")

MyRst.open"getUserList",MyConStr,0,1,4

'MyConStr是数据库连接字串,最后一个参断含义与CommandType相同