--命令窗口查询
exec 存储名、包名、视图;
select 函数名 from dual; create or replace procedure PR_test is
begin
--存储过程的代码
Dbms_Output.put_line('这是输出的一句话');
--serveroutput 系统设置项 是否在命令窗口打开 默认是 off,
--set serveroutput on; 打开系统输出为on
--只针对当前命令窗口有效
end PR_test; --带参数存放
create or replace procedure pr_test01(sno in varchar2,cno in varchar2,degree in number,msg out varchar2) is
begin
--数据插入
insert into score values(sno,cno,degree);
commit;
Dbms_Output.put_line('插入成功');
degree:=1; --代表执行成功
--给变量赋值
msg:='执行成功';
end pr_test01; create or replace procedure PR_test02 is
--定义变量
msgl varchar2(100)
begin
--调用其他存储过程
pr_test01('','3-204',98,msgl);
Dbms_Output.put_line(msgl);
end pr_test02 --条件判断
create or replace procedure PR_test02 is
--定义变量
msgl varchar2(100);
deg number(4,2):=0;
begin
deg:=98;
--调用其他存储过程
pr_test01('','3-204',deg,msgl);
Dbms_Output.put_line(msgl);
Dbms_Output.put_line(deg);
--条件判断
if(deg=1)then
Dbms_Output.put_line('deg=1 代表执行成功');
else
Dbms_Output.put_line('deg!=1 代表执行失败');
end if;
end pr_test02; --自定义函数
--自定义必须要有返回值
create or replace function pr_fun(tablename in varchar2) return number is
rtn number :=0 ;
begin
--获取学生表的记录条数
select count(1) into rtn from student s;
dbms_output.put_line('记录条数 rtn='||rtn);
--不能执行数据修改
--动态SQL语句
EXECUTE IMMEDIATE'select count(1) into rtn from '||tablename into rtn; --into 是把查询语句的结果赋值给变量
'insert into student value (:1,:2)'using; --using只能使用在into后面,并且针对DML使用,using 是把变量的值传入语句中对应的:1,:2....
return(rtn);
exception when others then --异常处理,放在最后的语句
dbms_output.put_line('发生异常')
end pr_fun; --包
--包体
create or replace package body pg_test is --包体:存放程序,私有的
--定义存储过程
procedure PR_test is
begin
--存储过程的代码
Dbms_Output.put_line('这是输出的一句话');
--修改数据
update student set ssex='' where ssex='男';
commit;--提交数据修改
Dbms_Output.put_line('测试包的存储过程');
end PR_test;
end pg_test; --触发器源码
create or replace trigger tg_test
after insert or update or delete
on STUDENT --每次对student进行增加,修改,删除便会触发记录日志的程序
for each row
declare
-- 定义变量
msg varchar2(200);
begin
--触发代码
msg:='触发器'; --记录日志的程序
--判断操作类型
case
when inserting then
insert into log values (sq_log.nextval,'student',sysdate,'对表进行添加数据 新数据主键= '||:new.sno);
when updating then
insert into log values (sq_log.nextval,'student',sysdate,'对表进行修改数据 新数据主键='||:old.sno);
when deleting then
insert into log values (sq_log.nextval,'student',sysdate,'对表进行删除数据 新数据主键='||:old.sno);
end case;
end tg_test;

Oracle编程脚本记录的更多相关文章

  1. Oracle函数脚本记录

    --内置函数 --聚合函数 返回单个值 '; --count()记录条数 select sum(degree) from score t; --sum(degree)求成绩总和 select avg( ...

  2. Oracle数据库脚本中的set define off

    2018年8月6日15:11:34 Oracle数据库脚本中的set define off 前言 最近在公司写需求,接触到脚本,第一句set define off;就不知道什么意思了,查询后记录之. ...

  3. Oracle编程入门经典 第12章 事务处理和并发控制

    目录 12.1          什么是事务处理... 1 12.2          事务处理控制语句... 1 12.2.1       COMMIT处理... 2 12.2.2       RO ...

  4. Oracle编程入门经典 第11章 过程、函数和程序包

    目录 11.1          优势和利益... 1 11.2          过程... 1 11.2.1       语法... 2 11.2.2       建立或者替换... 2 11.2 ...

  5. Oracle运行脚本:exp,hist 和 err

    上一篇我们讲到:首次使用rman备份数据库时,为了安全起见,我们应将整个数据库exp出来. 显而易见,每次都手敲exp代码是不可取的. ----费时费力还不规范! 为此,我们可以写一个exp脚本,之后 ...

  6. Shell编程——脚本编写思路与过程

    Linux系统Shell编程——脚本编写思路与过程 “ 前段时间有小伙伴问我一些问题,涉及到shell脚本的编写问题,事后,我深入思考了下,实际生产环境的确也会经常用到,因此如何写这个脚本?它的思路在 ...

  7. Oracle SQL 脚本跟踪

    NC Oracle SQL 脚本跟踪 脚本: select * from v$sqlarea a and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 1 ...

  8. 黑马oracle_day02:04.oracle对象&&05.oracle编程(a)

    01.oracle体系结构 02.oracle的基本操作 03.oracle的查询 04.oracle对象&&05.oracle编程(a) 05.oracle编程(b) 04.orac ...

  9. Oracle巡检脚本:ORAWatcher.sh

    Oracle巡检脚本:ORAWatcher.sh #!/usr/bin/ksh echo "" echo "ORAWatcher Version:1.0.1" ...

随机推荐

  1. 深入理解Javascript--闭包

    原网站http://www.cnblogs.com/xiaoloulan/p/5980569.html 在了解闭包之前需要了解下作用域的工作原理作为基础,传送门. 闭包是一个老生常谈的问题,在面试中也 ...

  2. 通过 listboxitem 查找属于listbox第几条数据

    public override System.Windows.Style SelectStyle(object item, System.Windows.DependencyObject contai ...

  3. js实现下拉菜单

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. SOAPUI使用教程-了解REST参数

    1.2.资源参数 在这一节中,我们更为详细的看看提供给你不同类型的REST参数.有五种类型的可用参数:QUERY, HEADER, TEMPLATE, MATRIX and PLAIN. 所有参数可以 ...

  5. Curator leader 选举(一)

    要想使用Leader选举功能,需要添加recipes包,可以在maven中添加如下依赖: <dependency> <groupId>org.apache.curator< ...

  6. Python 端口,IP扫描

    Python Socket函数 (1)TCP发送数据时,已建立好连接,不需要指定地址.UDP是面向无连接,每次分别指定发给谁. (2)s.bind(address) 将套接字绑定到地址,在AF_INE ...

  7. Shader实例:溶解效果(Dissolve)

    效果: 图左:一道金光闪过,瞬间灰飞烟灭 图右:燃烧效果,先过渡到黄色,然后渐渐过渡到黑色,最后消失殆尽. 这是游戏中常见的效果,各位可以想想自己玩过的游戏. 手头正在玩的,梦三国手游,死亡的时候就是 ...

  8. 【Telerik】实现列表单元格中添加复选框,进行状态(是、否)判断

    前台界面: 需求:实现对每条细则是否必备进行判断,必备就勾选,否则不勾选. 首先:要保证列表GridView是可编辑的(IsReadOnly=false) 表格代码 其次:单元格的数据绑定要保证是双向 ...

  9. cookies,sessionStorage 和 localStorage区别

    cookies,sessionStorage 和 localStorage 的区别 cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密). cook ...

  10. php面向对象中的几个基本定义

    面向对象: 面向对象是现代编程中的一种重要设计方法,其基本思想是使用对象,类,封装,继承等来进行程序设计. 对象: 一只猪,一只羊,一辆汽车. 类: 类的主要作用就是创建对象. 封装: 类的特点是将对 ...