一、创建存储过程语句

语法:  CREATE OR REPLACE PROCEDURE testname( argument1 TYPE1, ....  ) AS BEGIN ...... END   testname

例子:

  1. CREATE OR REPLACE PROCEDURE test_name(
  2. arg1 VARCHAR2,arg2 number,arg3 number)
  3. AS
  4. BEGIN
  5. insert into test_for_insert(
  6. STACID, LOANNO, SYSTID, PARA1, PARA2
  7. )values(
  8. 1, arg1, 'wld', arg2, arg3
  9. );
  10.  
  11. dbms_output.put_line('work!');
  12. END test_name;

右键‘测试’,输入参数

二、存储过程使用游标

游标就像循环里面的指针

语法:定义 :  CURSOR  point  IS SELECT number FROM test_table;

使用:FOR  test_point  IN  point LOOP

.................................

END LOOP;

  1. create or replace procedure test1 (sys in varchar2)is
  2. v_sys test_table.SYSTID%TYPE;
  3. v_arg number(10,2);
  4. CURSOR table_cursor IS
  5. SELECT SYSTID, NUMBER from test_table;
  6. begin
  7.  
  8. for test_cursor in table_cursor LOOP
  9. if sys = 'TEST' then
  10. dbms_output.put_line(' work ');
  11. end if;
  12. END LOOP;
  13. end test1;

三、给变量赋值

语法  :   SELECT  a.number, a INTO varible1 FROM test_table a;

例子 :

  1. create or replace procedure test_pro(sys in varchar2) is
  2.  
  3. v_sys test_table.SYSTID%TYPE;
  4. v_varible1 number(10,2);
  5. v_varible2 number(10,2);
  6.  
  7. CURSOR test_cursor IS
  8. SELECT SYSTID, NUMBER
  9. from test_table;
  10.  
  11. BEGIN
  12.  
  13. for v_cursor in test_cursor LOOP
  14. if sys = 'wld' then
  15. select t.SYSTID, nvl(sum(t.var1+t.var2),0)
  16. into v_sys, v_varible1
  17. from test_table t where t.NUMBER = v_cursor.NUMBER;
  18. dbms_output.put_line('SYS : ' || v_sys || ' v_varible1 : ' || v_varible1 );
  19. end if;
  20. END LOOP;
  21. END test_pro;

四、 插入表格

语法: INSERT INTO table1 ( arg1, arg2 .....) SELECT varible1, varible2 ..... FROM table2;

例子:

  1. create or replace procedure test3 (sys in varchar2)is
  2. v_sys test_table.SYSTID%TYPE;
  3. v_arg number(10,2);
  4.  
  5. begin
  6.  
  7. INSERT INTO table1
  8. (
  9. arg1, arg2, ....
  10. )
  11. select
  12. varible1, varible2,...
  13. from table2;
  14.  
  15. end test3;

------------- ------------- 谢谢大佬打赏 ------------- -----------

oracle存储过程---创建存储过程语句的更多相关文章

  1. oracle存储过程和存储函数&触发器

    oracle存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程,存储函数 存储过程和存储函数的相同点:完成特定功能的程序 存储过程和存储函数的区别:是否用return语句返回值 ...

  2. Oracle存储过程创建及调用(转)

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  3. oracle存储过程和存储函数

    存储过程 1.存储过程简介 下面先来简单介绍一下oracle的存储过程的语法,如下: create or replace procedure Tony_Process ( num in number, ...

  4. ORACLE存储过程创建失败,如何查看其原因

    工作中用SQL Server比较多,Oracle可以说是小白,最近想用存储过程来完成单据复制的功能,结果遇到各种问题,其实都是非常简单的问题,但是对我来说还是花了很多时间来解决,浪费这些时间非常不值得 ...

  5. Oracle 存储过程以及存储函数

    以下的一些例子是基于scott用户下的emp表的数据,一和二使用的均为in,out参数,最后一个综合练习使用了 in out参数 一.存储过程 1.创建无参的存储过程示例  ------ hello ...

  6. Oracle存储过程创建及调用

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  7. oracle存储过程与存储函数的区别和联系

    相同点:1.创建语法结构相似,都可以携带多个传入参数和传出参数.      2.都是一次编译,多次执行. 不同点:1.存储过程定义关键字用procedure,函数定义用function. 2.存储过程 ...

  8. oracle 存储过程创建报错 Procedure created with compilation errors

    出现这错误的话,存储过程还是会成功创建的,创建好后再逐个打开查找存储过程的问题 问题:基本上就是存储过程里面的表不存在,dblink 不存在    ,用户名.xx表  要么用户名不存在要么表不存在 创 ...

  9. Oracle 存储过程创建及调用

    --------创建存储过程------- create or replace procedure TestSPas begin update table_name set CREATE_TIMEST ...

随机推荐

  1. bat 复制文件夹,文件名递增 等操作

    句尾无';' @echo off : 回显,使命令不在dos中一行一行输出 pause : 暂停,以便看到输出结果 变量 %% 与 % % : https://zhidao.baidu.com/que ...

  2. 斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平衡(取舍)查准率和召回率的数值)

    一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中 ...

  3. kubeadm安装Kubernetes V1.10集群详细文档

    https://www.kubernetes.org.cn/3808.html?tdsourcetag=s_pcqq_aiomsg 1:服务器信息以及节点介绍 系统信息:centos1708 mini ...

  4. python要点简要-一日精通python

    Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...

  5. python kafka

    转载:https://zhuanlan.zhihu.com/p/31731892 https://kafka-python.readthedocs.io/en/master/usage.html

  6. hadoop 分布式开发环境搭建

    一,安装java环境 添加java环境变量 vi /etc/profile   # add by tank export JAVA_HOME=/data/soft/jdk/jdk1.7.0_71 ex ...

  7. JAVA核心技术I---JAVA基础知识(二进制文件读写和zip文件读写)

    一:二进制文件读写 (一)写文件 –先创建文件,写入数据,关闭文件 –FileOutputStream, BufferedOutputStream,DataOutputStream –DataOutp ...

  8. Linux记录-配置sudoers无密登录和环境变量

    su root vim /etc/sudoers.d/sfapp sfapp ALL=(ALL) ALLsfapp ALL=(ALL) NOPASSWD: ALL Defaults !env_rese ...

  9. canvas绘图history妙用

    function palette(canvas,ctx){ //初始化画布内部元素默认样式 this.strokeColor = 'red'; //默认选中红色触发颜色 this.fillColor ...

  10. LeetCode(193. Valid Phone Numbers)(sed用法)

    193. Valid Phone Numbers Given a text file file.txt that contains list of phone numbers (one per lin ...