oracle存储过程---创建存储过程语句
一、创建存储过程语句
语法: CREATE OR REPLACE PROCEDURE testname( argument1 TYPE1, .... ) AS BEGIN ...... END testname
例子:
- CREATE OR REPLACE PROCEDURE test_name(
- arg1 VARCHAR2,arg2 number,arg3 number)
- AS
- BEGIN
- insert into test_for_insert(
- STACID, LOANNO, SYSTID, PARA1, PARA2
- )values(
- 1, arg1, 'wld', arg2, arg3
- );
- dbms_output.put_line('work!');
- END test_name;
右键‘测试’,输入参数
二、存储过程使用游标
游标就像循环里面的指针
语法:定义 : CURSOR point IS SELECT number FROM test_table;
使用:FOR test_point IN point LOOP
.................................
END LOOP;
- create or replace procedure test1 (sys in varchar2)is
- v_sys test_table.SYSTID%TYPE;
- v_arg number(10,2);
- CURSOR table_cursor IS
- SELECT SYSTID, NUMBER from test_table;
- begin
- for test_cursor in table_cursor LOOP
- if sys = 'TEST' then
- dbms_output.put_line(' work ');
- end if;
- END LOOP;
- end test1;
三、给变量赋值
语法 : SELECT a.number, a INTO varible1 FROM test_table a;
例子 :
- create or replace procedure test_pro(sys in varchar2) is
- v_sys test_table.SYSTID%TYPE;
- v_varible1 number(10,2);
- v_varible2 number(10,2);
- CURSOR test_cursor IS
- SELECT SYSTID, NUMBER
- from test_table;
- BEGIN
- for v_cursor in test_cursor LOOP
- if sys = 'wld' then
- select t.SYSTID, nvl(sum(t.var1+t.var2),0)
- into v_sys, v_varible1
- from test_table t where t.NUMBER = v_cursor.NUMBER;
- dbms_output.put_line('SYS : ' || v_sys || ' v_varible1 : ' || v_varible1 );
- end if;
- END LOOP;
- END test_pro;
四、 插入表格
语法: INSERT INTO table1 ( arg1, arg2 .....) SELECT varible1, varible2 ..... FROM table2;
例子:
- create or replace procedure test3 (sys in varchar2)is
- v_sys test_table.SYSTID%TYPE;
- v_arg number(10,2);
- begin
- INSERT INTO table1
- (
- arg1, arg2, ....
- )
- select
- varible1, varible2,...
- from table2;
- end test3;
------------- ------------- 谢谢大佬打赏 ------------- -----------
oracle存储过程---创建存储过程语句的更多相关文章
- oracle存储过程和存储函数&触发器
oracle存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程,存储函数 存储过程和存储函数的相同点:完成特定功能的程序 存储过程和存储函数的区别:是否用return语句返回值 ...
- Oracle存储过程创建及调用(转)
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...
- oracle存储过程和存储函数
存储过程 1.存储过程简介 下面先来简单介绍一下oracle的存储过程的语法,如下: create or replace procedure Tony_Process ( num in number, ...
- ORACLE存储过程创建失败,如何查看其原因
工作中用SQL Server比较多,Oracle可以说是小白,最近想用存储过程来完成单据复制的功能,结果遇到各种问题,其实都是非常简单的问题,但是对我来说还是花了很多时间来解决,浪费这些时间非常不值得 ...
- Oracle 存储过程以及存储函数
以下的一些例子是基于scott用户下的emp表的数据,一和二使用的均为in,out参数,最后一个综合练习使用了 in out参数 一.存储过程 1.创建无参的存储过程示例 ------ hello ...
- Oracle存储过程创建及调用
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...
- oracle存储过程与存储函数的区别和联系
相同点:1.创建语法结构相似,都可以携带多个传入参数和传出参数. 2.都是一次编译,多次执行. 不同点:1.存储过程定义关键字用procedure,函数定义用function. 2.存储过程 ...
- oracle 存储过程创建报错 Procedure created with compilation errors
出现这错误的话,存储过程还是会成功创建的,创建好后再逐个打开查找存储过程的问题 问题:基本上就是存储过程里面的表不存在,dblink 不存在 ,用户名.xx表 要么用户名不存在要么表不存在 创 ...
- Oracle 存储过程创建及调用
--------创建存储过程------- create or replace procedure TestSPas begin update table_name set CREATE_TIMEST ...
随机推荐
- bat 复制文件夹,文件名递增 等操作
句尾无';' @echo off : 回显,使命令不在dos中一行一行输出 pause : 暂停,以便看到输出结果 变量 %% 与 % % : https://zhidao.baidu.com/que ...
- 斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平衡(取舍)查准率和召回率的数值)
一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中 ...
- kubeadm安装Kubernetes V1.10集群详细文档
https://www.kubernetes.org.cn/3808.html?tdsourcetag=s_pcqq_aiomsg 1:服务器信息以及节点介绍 系统信息:centos1708 mini ...
- python要点简要-一日精通python
Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...
- python kafka
转载:https://zhuanlan.zhihu.com/p/31731892 https://kafka-python.readthedocs.io/en/master/usage.html
- hadoop 分布式开发环境搭建
一,安装java环境 添加java环境变量 vi /etc/profile # add by tank export JAVA_HOME=/data/soft/jdk/jdk1.7.0_71 ex ...
- JAVA核心技术I---JAVA基础知识(二进制文件读写和zip文件读写)
一:二进制文件读写 (一)写文件 –先创建文件,写入数据,关闭文件 –FileOutputStream, BufferedOutputStream,DataOutputStream –DataOutp ...
- Linux记录-配置sudoers无密登录和环境变量
su root vim /etc/sudoers.d/sfapp sfapp ALL=(ALL) ALLsfapp ALL=(ALL) NOPASSWD: ALL Defaults !env_rese ...
- canvas绘图history妙用
function palette(canvas,ctx){ //初始化画布内部元素默认样式 this.strokeColor = 'red'; //默认选中红色触发颜色 this.fillColor ...
- 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 ...