黑马程序员c语言教程:Oracle概念(7)_黑马程序员c语言教程

其他范文 时间:2020-02-28 07:24:46 收藏本文下载本文
【www.daodoc.com - 其他范文】

黑马程序员c语言教程:Oracle概念(7)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“黑马程序员c语言教程”。

十六、控制用户访问 1.权限的类别

系统级权限: 针对整个系统操作的权限 如: 用户名/密码, 使用表空间的限额等

对象级权限: 针对某个具体object操作的权限

如: 针对某个表, 视图, 表的某个字段的select, update, delete权限 23

J2EE @ zxw 2.查看当前数据库的用户信息

SQL>select username,default_tablespace,temporary_tablespace from dba_users;查看在线用户信息 SQL>select count “number”,username “current username” from v$seion group by username;用户查看自己的缺省表空间SQL>select username,default_tablespace from user_users;3.创建新用户

SQL> create user username identified by paword default tablespace tablespace_name temporary tablespace temp quota unlimited on tablespace_name quota 1k on system [quota 1k on other_tablespace_name „„];给用户赋权限

SQL> grant connect, resource to username;查看当前用户的权限角色

SQL> select * from user_role_privs;查看当前用户的系统权限和表级权限

SQL> select * from user_sys_privs;SQL> select * from user_tab_privs;4、常用的角色及其权限

CONNECT 8 privs 连上Oracle,做最基本操作 RESOURCE 8 privs 具有程序开发最的权限 DBA 114 privs 数据库管理员所有权限

EXP_FULL_DATABASE 5 privs 数据库整个备份输出的权限 IMP_FULL_DATABASE 64 privs 数据库整个备份输入的权限 查看角色明细的系统权限

SQL> select * from role_sys_privs;

5、改变老用户 可以改变老用户的密码, 缺省表空间, 临时表空间, 空间限额.SQL> alter user username identified by paword default tablespace tablespace_name temporary tablespace temp quota unlimited on tablespace_name quota 1k on system

[quota 1k on other_tablespace_name „„];撤销用户的角色或权限

SQL> revoke role_name or priv_name from username;注意事项

撤消用户的角色dba时, 同时撤消了用户unlimited tablespace的系统权限, 切记要再次赋予resource角色给此用户 SQL> grant resource to username;

6、删除用户

如果用户下没有任何数据对象 SQL> drop user username;如果用户下有数据对象

SQL> drop user username cascade;注意事项

如果用户下有含clob,blob字段的表, 应该先删除这些表后,才能用cascade选项完全删除.7、角色的概念和管理 24

J2EE @ zxw 角色是命名多个相关权限的组合.能把它赋于其它的用户或角色我们能创建角色, 使权限管理更容易一些.8、赋于系统的权限语法和例子 语法: SQL> GRANT sys_priv TO {user|role|PUBLIC} [WITH ADMIN OPTION];例子: SQL> GRANT create seion TO sue, rich;SQL> GRANT create table To scott, manager;注意: 如果用WITH ADMIN OPTION通过中间用户赋于的系统权限中间用户删除后, 系统权限仍然存在.9、赋于数据对象级的权限语法和例子 语法: SQL> GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];例子: SQL> GRANT select ON s_emp TO sue, rich;SQL> GRANT update(name, region_id)ON s_dept TO scott, manager;注意: 如果用WITH GRANT OPTION通过中间用户赋于的对象权限 中间用户删除后,对象权限就不存在了.-------------

----------------------------完--------------------------补充:

rownum表中的行号,自动生成的,只能用 10 and a

J2EE @ zxw SQL> select courseid, coursename ,score ,decode(sign(score-61),-1,'fail','pa')as mark from course_v;COURSEID COURSENAME SCORE MARK----------------------------------1 java 70 pa 2 oracle 90 pa 3 xml 40 fail 4 jsp 30 fail 5 servlet 80 pa

(3)已经知道原表

year salary---------------------------------------2000 1000 2001 2000 2002 3000 2003 4000 显示查询结果

year salary---------------------------------------2000 1000 2001 3000 2002 6000 2003 10000 即salary为以前年的工资的和; 解答过程如下:

select b.year,sum(a.salary)from test a,test b where a.year

/*============================== *Author: MartriWang@gmail.com *Date: 09/05/2007 *Description:ORACLE Summary

*============================*/ 汇总:

set autotrace on set autotrace traceonly explain set timing on 或通过SQL*PLUS trace,然后查看user_dump_dest下的跟踪文件,使用tkprof工具格式化后阅览。

alter seion set events '10046 trace name context forever,level 12';alter seion set events '10046 trace name context off';SELECT p.spid,s.username FROM v$seion s,v$proce p WHERE s.audsid=USERENV('seionid')AND s.paddr = p.addr;使用方法示例:

DBserver% sqlplus perf/perf

SQL*Plus: Release 9.2.0.6.064bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.6.0-Production SQL> set timing on SQL> set autotrace on SQL> select count(*)from perf_sdcch_nn where start_time =(select max(start_time)from perf_sdcch_nn);COUNT(*)----------638 Elapsed: 00:00:00.80 Execution Plan---------------------------0 SELECT STATEMENT Optimizer=CHOOSE(Cost=1 Card=1 Bytes=8)1 0 SORT(AGGREGATE)2 1 INDEX(RANGE SCAN)OF 'IDX02_PERF_SDCCH_NN'(NON-UNIQUE)(Cost=2 Card=1495 Bytes=11960)3 2 SORT(AGGREGATE)4 3 INDEX(FULL SCAN(MIN/MAX))OF 'IDX02_PERF_SDCCH_NN'(NON-UNIQUE)(Cost=1 Card=3852090 Bytes=30816720)Statistics---------------------------0 recursive calls 0 db block gets 15 consistent gets 0 physical reads 0 redo size 492 bytes sent via SQL*Net to client 656 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts(memory)0 sorts(disk)1 rows proceed SQL> 从上面的示例我们可以看到,该SQL语句执行花了0.8秒,select语句和inline view,都使用了名为'IDX02_PERF_SDCCH_NN'的索引

物理读为0,redo log size为0,没有生成REDO日志。

黑马程序员c语言教程:Oracle概念

一、选择行1.简单的SELECT 语句SELECT 字段名1 [AS] '字段名1 解释' FROM table; 2.处理NULL NVL函数可把NULL转换成其它类型的符号编程技巧: NVL函数在多条件模糊查询的......

黑马程序员c语言教程:Oracle概念

四、从多个表里选取数据记录 1.数据表间的连接 简单的连接语法: SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 表名1.字段名 = 表名2.字段名 [ AND ……......

黑马程序员c语言教程:Oracle概念(3)(推荐)

七、在执行SQL语句时绑定变量1.接收和定义变量的SQL*PLUS命令 ACCEPT DEFINE UNDEFINE & 2.绑定变量SQL语句的例子(1) SQL> select id, last_name, salary from s_emp where......

黑马程序员c语言教程:Oracle指令

--sql structured query language --DML--Data Manipulation Language--数据操作语言 query information (SELECT), add new rows (INSERT), modify existing rows (UPDATE)......

黑马程序员c语言教程:Oracle指令

------------------------- --order by的用法--员工信息按照姓名正序排列select * from emp order by ename asc; --员工信息按照倒叙排列select * from emp order by ename......

下载黑马程序员c语言教程:Oracle概念(7)word格式文档
下载黑马程序员c语言教程:Oracle概念(7).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文