在用PL/SQL开发程序时,有时需要通过查询一些系统状态,实现一些功能。在plsql developer的交互Sql窗口中可访问sys用户的系统表,如sys.dba_users或sys.v_$session之类表,但在函数或存储过程中却无法访问。查询资料,也证实若需在程序中访问,要将这些表的查询权限select授权给访问用户才可以。象Sybase的一些系统存储过程和系统表也是需要高级用户授权才可以使用。访问系统表能提供一些非常有用的功能。
SELECT t.username FROM sys.v_$session t WHERE t.status = 'ACTIVE' AND t.username IS NOT NULL;
将显示当前连接的用户。
select * from all_tab_columns where table_name='TB' and column_name like 'FLD%' and owner='USER' ;
将查询出所有USER用户下TB表中字段名以FLD开头的列的名字,
select * from all_tables; select * from tab;
显示所有表,下面一条似乎是上面的视图。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/359.html