Oracle procedure存储过程/function函数
--函数的创建
create function func1(dno number)
return NUMBER--必须带有返回值
is
v_max number;--定义返回值
begin
select max(sal) into v_max--赋值
from emp where deptno= dno;
RETURN v_max;--返回
end;
--函数的调用,只能是表达式的一部分,不能单独调用
select * from emp where sal= func1(10);
-------------------------------------------------------------------------------
--创建过程存在则替换,带输出参数
create or replace procedure proc1(dno in number,maxsal out number)----------参数不能有(10)这样的长度控制
is
v_maxsal number;
begin
select max(sal) into v_maxsal
from emp where deptno= dno;
maxsal := v_maxsal;--给输出参数赋值
dbms_output.put_line(v_maxsal);--打印
end; --调用过程
declare maxsal number;
begin
proc1(10,maxsal);
dbms_output.put_line(maxsal);
end;
--------------------------------------------------------------------------------
/*
创建返回多行的存储过程
*/
create or REPLACE procedure proc_test
is
begin
DECLARE cursor cc is SELECT * from emp;--这里定义一个游标集合变量cc
begin for r in cc loop--对游标cc进行遍历
dbms_output.put_line(r.ename || ':' || r.sal);
end loop;--结束遍历
end;
end;
---调用
begin
proc_test();
end;
1.函数必须是和语句一起执行,不能被单独执行,必须有返回值。
2存储过程 可以被单独执行,没有返回值。
下面是在PL/SQL中使用动态sql语句:
-------Oracle中 DML:insert,delete,update
-------TCL:COMMIT,ROLLBACK,SAVEPOINT ONT,ROLLBACK TO ONE;
-------DQL:SELECT
--PL/SQL 中使用本地动态sql
DECLARE
str VARCHAR2(200);
outid number;
begin
--values(:1,:2)占位符,returning id into :3将id赋值给第三个参数
str :='insert into test123 values(:1,:2) returning id into :3';
execute immediate str --运行动态sql
using 1,'php'--给占位符赋值 1 2
RETURNING into outid;--3
dbms_output.put_line(outid);
end;
Oracle procedure存储过程/function函数的更多相关文章
- java下实现调用oracle的存储过程和函数
在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KE ...
- Java代码调用Oracle的存储过程,存储函数和包
Java代码调用存储过程和存储函数要使用CallableStatement接口 查看API文档: 上代码: java代码调用如下的存储过程和函数: 查询某个员工的姓名 月薪 职位 create or ...
- [转]Oracle中存储过程和函数的区别
原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...
- Oracle数据库—— 存储过程与函数的创建
一.涉及内容 1.掌握存储过程与函数的概念. 2.能够熟练创建和调用存储过程与函数. 二.具体操作 1.创建存储过程,根据职工编号删除scott.emp表中的相关记录. (1)以scott 用户连接数 ...
- Oracle 在存储过程或函数中执行字符串sql
有时,我们需要在存储过程或函数中根据条件拼凑一些sql字符串语句,然后再执行拼凑后的sql字符串,如何做到呢? 参考以下代码: FUNCTION CALCULATE_TARGET_SCORE (CUR ...
- oracle procedure存储过程
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS/AS 变量1 ; 变量2 DATE: BEG ...
- 【学习】java下实现调用oracle的存储过程和函数
在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRI ...
- oracle调用存储过程和函数返回结果集
在程序开发中,常用到返回结果集的存储过程,这个在mysql和sql server 里比较好处理,直接返回查询结果就可以了,但在oracle里面 要 out 出去,就多了一个步骤,对于不熟悉的兄弟们还得 ...
- oracle的存储过程和函数(PL/SQL)
czmmiao 存储过程概述 存储过程是子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出.一个存储过程通 ...
随机推荐
- 03---JavaScript基础整理
一.概述: Netscape开发的一种基于对象和事件驱动的脚本语言. 被设计用来想HTML页面添加交互行为. 无需编译,可由浏 ...
- android学习日记03--常用控件checkbox/radiobutton
常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...
- js上传文件获取客户端地址
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- springMVC整合xStream
一. 简单介绍: xStream能够轻易的将Java对象转换成xml.JSON.本篇博客将使用springMVC整合利用xStream转换xml. 关于xStream使用的博文:http://blog ...
- 5.6 太多分区引起OOM
一个月之前,Scott和同事们发现公司有一个MySQL MHA集群的master(假设master机器名为hostA)每隔一周左右就会挂一次(指MySQL挂掉),在几周内,MHA来回切了好几次. 按照 ...
- 用linq实现登陆功能
BLL层的逻辑代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...
- Languages
Languages A language class exists inside the system/Core folder, this class have 2 methods: load - L ...
- CSS——伪元素与伪类
伪类与伪元素 伪类:在特殊性中占据0,0,1,0 :link 向未访问的链接添加特殊的样式.也就是说,链接所指的 URI 尚未出现在用户代理的历史中.这种状态与 :visited状态是互斥的. :vi ...
- 线程本地变量ThreadLocal
一.本地线程变量使用场景 并发应用的一个关键地方就是共享数据.如果你创建一个类对象,实现Runnable接口,然后多个Thread对象使用同样的Runnable对象,全部的线程都共享同样的属性.这意味 ...
- delta
1,安装synplyfy:综合工程,便于学习(模块间的关系,数据流向) 2,安装wps office: www.wps.com/linux,论坛有安装方法和依赖包处理 3,安装kmplayer: 4 ...