oralce 视图 ,存储过程,表索引

oralce视图创建

定义:ORLACE 视图类似于oralce 只能查询的表,但是不能进行增删改等操作,使用方法上面和子查询类似吧。

创建方法:

create [ or replace ] [ force ] view [schema.]view_name
                      [ (column1,column2,...) ]
                      as 
                      select ...
                      [ with check option ]                      [ constraint constraint_name ]
                      [ with read only ];

tips:
1 or replace: 如果存在同名的视图, 则使用新视图"替代"已有的视图
2 force: “强制"创建视图,不考虑基表是否存在,也不考虑是否具有使用基表的权限
3 column1,column2,…:视图的列名, 列名的个数必须与select查询中列的个数相同; 如果select查询包含函数或表达式, 则必须为其定义列名.此时, 既可以用column1, column2指定列名, 也可以在select查询中指定列名.
4 with check option: 指定对视图执行的dml操作必须满足“视图子查询”的条件即,对通过视图进行的增删改操作进行"检查”,要求增删改操作的数据, 必须是select查询所能查询到的数据,否则不允许操作并返回错误提示. 默认情况下, 在增删改之前"并不会检查"这些行是否能被select查询检索到.
5 with read only:创建的视图只能用于查询数据, 而不能用于更改数据.

例子:

create or replace view  view_approve_1

as 

select * from test

with read only  -- 只能查询的操作,如果不加则可以对表 进行操作

授予视图访问权限

创建视图,并将视图赋予一个用户只读权限,操作步骤如下:

OLDUSER用户具有创建视图的权限。

1)创建用户 zhangsan/zhangsan
CREATE USER zhangsan IDENTIFIED BY zhangsan;

2)给zhangsan赋予权限
GRANT CONNECT TO zhangsan;
GRANT SELECT ON OLDUSER.V_TEST TO zhangsan;

3)使用zhangsan用户登录系统,访问此视图
SELECT * FROM OLDUSER.V_TEST

4)如果不使用用户名访问,那么需要创建同义词,如下:
CREATE SYNONYM zhangsan.V_TEST for OLDUSER.V_TEST;
创建同义词之后,在zhangsan登录之后就可以使用如下查询语句了
SELECT * FROM V_TEST

oracle 存储过程创建

create or replace procedure 存储过程名称
(
--定义输入、输出参数--
参数名1 in 参数类型,
参数名2 in 参数类型,
参数名3 in 参数类型,
参数名4 out 参数类型
)
as
--定义变量--
--变量名 变量数据类型;如:
 -- numCount integer; 
begin   
     --处理方法-
end;

oralce 创建索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值