简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

八个学习点帮助你全面认识Oracle数据库

来源:易贤网   阅读:880 次  日期:2015-03-20 13:44:18

温馨提示:易贤网小编为您整理了“八个学习点帮助你全面认识Oracle数据库”,方便广大网友查阅!

TableSpace

表空间:

一个表空间对应多个数据文件(物理的dbf文件)

用语法方式创建tablespace,用sysdba登陆:

--创建表空间mytabs,大小为10MB:

create tablespace mytabs datafile

'C:oracleoradatamydbmytabs1.dbf' size 10M;

alter user zgl default tablespace mytabs;

--把tabs做为zgl的默认表空间。

grant unlimited tablespace to zgl;

--将操作表空间的权限给zgl。

Exception

示例:

create or replace procedure

pro_test_exception(vid in varchar2) is

userName varchar2(30);

begin

select name into userName from t_user where id=vid;

dbms_output.put_line(userName);

exception

when no_data_found then

dbms_output.put_line('没有查到数据!');

when too_many_rows then

dbms_output.put_line('返回了多行数据!');

end pro_test_exception;

安全管理

以下语句以sysdba登陆:

用户授权:

alter user zgl account lock;--锁定帐号。

alter user zgl identified by zgl11;--修改用户密码。

alter user zgl account unlock;--解除帐号锁定。

alter user zgl default tablespace tt;--修改用户zgl的默认表空间为tt。

create user qqq identified by qqq123 default tablespace tt;--创建用户。

grant connect to qqq;--给qqq授予connect权限。

grant execute on zgl.proc01 to test;--将过程zgl.proc01授予用户test。

grant create user to zgl;--给zgl授予创建用户的权限。

revoke create user from zgl;--解除zgl创建用户的权限。

角色授权:

create role myrole;--创建角色myrole

grant connect to myrole;--给myrole授予connect权限

grant select on zgl.t_user to myrole;--把查询zgl.t_user的权限授予myrole

grant myrole to test;--把角色myrole授予test用户

概要文件(配置文件):

全局设置,可以在概要文件中设置登陆次数,如超过这次数就锁定用户。

Synonym

创建同义词示例:

create public synonym xxx for myuser.t_user

create synonym t_user for myuser.t_user

select * from dba_synonyms where table_name='T_USER'

跨数据库查询

create database link dblinkzgl

connect to myuser identified by a using 'mydb'

Select * From

course示例

示例1:

create or replace procedure pro_test_cursor is

userRow t_user%rowtype;

cursor userRows is

select * from t_user;

begin

for userRow in userRows loop

dbms_output.put_line

(userRow.Id||','||userRow.Name||','||userRows%rowcount);

end loop;

end pro_test_cursor;

示例2:

create or replace procedure

pro_test_cursor_oneRow(vid in number) is

userRow t_user%rowtype;

cursor userCur is

select * from t_user where id=vid;

begin

open userCur;

fetch userCur into userRow;

if userCur%FOUND then

dbms_output.put_line

(userRow.id||','||userRow.Name);

end if;

close userCur;

end pro_test_cursor_oneRow;

record示例

create or replace

procedure pro_test_record(vid in varchar2) is

type userRow is record(

id t_user.id%type,

name t_user.name%type

);

realRow userRow;

begin

select id,name into

realRow from t_user where id=vid;

dbms_output.put_line

(realRow.id||','||realRow.name);

end pro_test_record;

rowtype示例

create or replace procedure

pro_test_rowType(vid in varchar2) is

userRow t_user%Rowtype;

begin

select * into userRow from t_user where id=vid;

dbms_output.put_line

(userRow.id||','||userRow.name);

end pro_test_rowType;

更多信息请查看IT技术专栏

更多信息请查看数据库
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:Oracle数据库之中数据安全完全分析详解
下一篇:在操作系统损坏时恢复Oracle10g全过程
易贤网手机网站地址:八个学习点帮助你全面认识Oracle数据库
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!