Oracle视图和触发器简单示例
来源:互联网 发布:西南交大网络教育网址 编辑:程序博客网 时间:2024/05/16 17:04
存储过程,触发器,视图在开发中都是比较常见的,存储过程的基本已经简单的介绍了,这里就不在废话了
视图:简单来说就是一张虚拟表,里面存放了从一张表或多张表中获取的我们想要的数据,视图存在于数据库中,不占物理内存,这个是相对的,因为视图本身的定义语句还是要存储在数据字典中的,视图只有逻辑定义,而且视图是可以操作基表的。每次使用的时候,只是重新执行SQL。要注意视图是不可以传参的,而存储过程是可以传参的。
建表:
//建表时每个字段的类型大小要合理create table(id varchar(8),name varchar(28),pwd varchar(38),address varchar(68))
创建视图:
//or replace:如果存在同名的视图, 则使用新视图"替代"已有的视图//v_test:视图名称,这个视图获取了user_info表中所有id='88'的数据create or replace view v_test as select * from user_info where id = '88'
调用视图:
select * from v_test//视图名称就相当于表名
通过视图操作基表:
//这里插入的数据其实是插入到user_info中去了insert into v_test(id,name,pwd,address) values('7','aaa','999','杭州')
触发器:触发器是在事件发生时隐式地自动运行的PL/SQL程序块,不能接收参数,不能被调用。注意:存储过程是显示的被调用,并且可以接收参数。
创建触发器:
//or replace:如果存在同名的触发器, 则使用新触发器"替代"已有的触发器create or replace trigger test//在触发事件之前执行,after:之后before //触发事件:在向user_info表中插入数据之前执行该触发器 insert on user_info //对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。 for each row begin --你让触发器所要做的事情 dbms_output.put_line('插入前-----'); end;
测试:
--调用存储过程插入数据 begin test('5','张三','255','江西南昌'); end; //执行完你会在PLSQL输入台看到:插入前-----
总结:其实不管是视图、触发器还是存储过程,都不难的(但是对于目前作者来说还是蛮难的啦),它们的根本就在于写sql的能力,如果写sql的能力贼强,我相信写这些东西也是贼强的,总之一句话吧,会写sql的重要性大于写代码的重要性!
1 0
- Oracle视图和触发器简单示例
- Oracle触发器简单示例
- Oracle数据库简单触发器示例
- MySQL 触发器 存储过程 自定义函数 视图 简单示例
- WPF 属性和触发器 简单示例 备忘
- oracle创建视图触发器
- oracle触发器示例
- Oracle触发器示例
- oracle触发器示例
- mysql 触发器简单示例
- WPF 触发器简单示例
- oracle 触发器和存储过程简单例子
- MySQL存储过程、游标、触发器和视图的简单用法
- 创建触发器和视图
- mysql视图和触发器
- oracle 和 SQL Server触发器创建、删除、修改、查看示例
- Oracle存储过程、自定义函数、和触发器 示例
- oracle视图更新,替代触发器
- iOS block探究(一): 基础详解
- Android Studio集成Genymotion 及Genymotion 配置ADB
- ScanKeyData
- php获取不同时间
- __cplusplus的妙用
- Oracle视图和触发器简单示例
- linux下如何使用systemctl管理systemd服务与单元
- 按位与、或、异或等运算方法
- nginx: [error] invalid PID number "" in "/usr/local/lnmp/nginx/logs/nginx.pid"问题解决办法
- 回顾Android 4.0blue
- 流行的FTP应用程序
- Kaka's Matrix Travels poj 3422 费用流
- javaweb,文件下载设置Header
- 【剑指offer】二进制中1的个数