oracle基本语法

表空间操作

--创建表空间
create tablespace spacename logging datafile 'e:\dbtest\abc.dbf' size 
32m autoextend on next 32m maxsize unlimited extent management local

--删除表空间
drop tablespace spacename including contents and datafiles

--查询所有表空间
select tablespace_name from dba_tablespaces

--创建用户并指定表空间
create user testuser identified by 123 default tablespace sapcename

权限

用户角色
sys系统管理员
system本地管理员
scott普通管理员

授权

-- 授予用户登录权限
grant create session to testuser

-- 授予使用表空间的权限
grant unlimited tablespace to testuser

-- 授予创建表的权限
grant create table to testuser

-- 授予删除表的权限
grant drop any table to testuser
-- 授予插入表的权限
grant insert any table to testuser

-- 授予修改表的权限
grant update any table to testuser

-- 授予创建存储过程和自定义函数的权限
grant create procedure to testuser

-- 授予创建触发器的权限
grant create trigger to testuser

--授予创建视图的权限
grant create view to testuser

-- 授予动态执行表访问权限
grant select on v_$session to testuser
grant select on v_$sesstat to testuser
grant select on v_$statname to testuser

-- 授予所有权限给所有用户
grant all to public

普通用户之间互相授权

--oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
grant select on tablename to testuser 
grant drop on tablename to testuser 
grant insert on tablename to testuser 
grant update on tablename to testuser 
--授予对指定表特定字段的插入和修改权限,注意,只能是insert和update
grant insert(id) on tablename to testuser 
grant update(id) on tablename to testuser 
--授予testuser  用户alert中任意表的权限
grant alert all table to testuser

角色

角色是相关权限的集合,使用角色能够简化权限的管理。简而言之就是oracle可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限。
  oracle预定义角色有25种,它是oracle提供的角色。经常用到的角色有connect、resource、dba三种角色。建一个用户,多数情况下,只要给用户赋予connect和resource角色就够了。
  connect角色具有一般应用开发人员需要的大部分权限,connect角色具有的系统权限如下:
    alter session
    create cluster
    create database link
    create session
    create table
    create view
    create sequence
  resource角色具有开发人员需要的其他权限,如建立存储过程、触发器等,resource角色等,resource角色隐含了unlimited tablespace系统权限(无限制表空间),resource的系统权限有:
    create cluster
    create indextype
    create table
    create sequence
    create type
    create procedure
    create trigger
  dba角色具有所有系统权限及with admin option选项,默认dba用户为sys和system,它们可以将任何系统权限授予给其他用户。但是dba角色不具备sysdba和sysoper的权限,即启动和关闭数据库。

将角色拥有的权限赋予用户

grant connect to testuser

撤销权限

基本语法同grant,关键字为revoke

查看当前用户所有权限

select * from user_sys_privs

自定义函数

--无参的函数
create or replace function functionname return varchar2 is
	v_result varchar2(20);
begin
  insert into tb_menu values(2,'公告管理');
  commit;
  return '添加完了';
end functionname ;

--带参数的函数
create or replace function functionname (v_name in varchar2,v_id in int) 
return varchar2 is
       v_result varchar2(20);
begin
  insert into tb_menu values(v_id,v_name);
  commit;
  return '添加完了';
end functionname;

存储过程

--无参存储过程
create or replace procedure procedurename is
begin
  insert into tb_user values(1,'张三');
  commit;
end procedurename;

--带游标输出参数的存储过程
create or replace procedure procedurename(data out sys_refcursor) is
begin
  open data for select * from tb_menu;
end procedurename;

触发器

create or replace trigger triggername after delete on tablename for each row
begin
  insert into tb_user values(2,'李四');
end triggername;

视图

create or replace view viewname as
select t.m_id,t.mname from tb_menu t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值