--函数的创建
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函数的更多相关文章

  1. java下实现调用oracle的存储过程和函数

    在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KE ...

  2. Java代码调用Oracle的存储过程,存储函数和包

    Java代码调用存储过程和存储函数要使用CallableStatement接口 查看API文档: 上代码: java代码调用如下的存储过程和函数: 查询某个员工的姓名  月薪 职位 create or ...

  3. [转]Oracle中存储过程和函数的区别

    原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...

  4. Oracle数据库—— 存储过程与函数的创建

    一.涉及内容 1.掌握存储过程与函数的概念. 2.能够熟练创建和调用存储过程与函数. 二.具体操作 1.创建存储过程,根据职工编号删除scott.emp表中的相关记录. (1)以scott 用户连接数 ...

  5. Oracle 在存储过程或函数中执行字符串sql

    有时,我们需要在存储过程或函数中根据条件拼凑一些sql字符串语句,然后再执行拼凑后的sql字符串,如何做到呢? 参考以下代码: FUNCTION CALCULATE_TARGET_SCORE (CUR ...

  6. oracle procedure存储过程

    1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS/AS 变量1 ; 变量2 DATE: BEG ...

  7. 【学习】java下实现调用oracle的存储过程和函数

    在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRI ...

  8. oracle调用存储过程和函数返回结果集

    在程序开发中,常用到返回结果集的存储过程,这个在mysql和sql server 里比较好处理,直接返回查询结果就可以了,但在oracle里面 要 out 出去,就多了一个步骤,对于不熟悉的兄弟们还得 ...

  9. oracle的存储过程和函数(PL/SQL)

    czmmiao 存储过程概述 存储过程是子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出.一个存储过程通 ...

随机推荐

  1. 03---JavaScript基础整理

    一.概述:           Netscape开发的一种基于对象和事件驱动的脚本语言.                  被设计用来想HTML页面添加交互行为.           无需编译,可由浏 ...

  2. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  3. js上传文件获取客户端地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. springMVC整合xStream

    一. 简单介绍: xStream能够轻易的将Java对象转换成xml.JSON.本篇博客将使用springMVC整合利用xStream转换xml. 关于xStream使用的博文:http://blog ...

  5. 5.6 太多分区引起OOM

    一个月之前,Scott和同事们发现公司有一个MySQL MHA集群的master(假设master机器名为hostA)每隔一周左右就会挂一次(指MySQL挂掉),在几周内,MHA来回切了好几次. 按照 ...

  6. 用linq实现登陆功能

    BLL层的逻辑代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...

  7. Languages

    Languages A language class exists inside the system/Core folder, this class have 2 methods: load - L ...

  8. CSS——伪元素与伪类

    伪类与伪元素 伪类:在特殊性中占据0,0,1,0 :link 向未访问的链接添加特殊的样式.也就是说,链接所指的 URI 尚未出现在用户代理的历史中.这种状态与 :visited状态是互斥的. :vi ...

  9. 线程本地变量ThreadLocal

    一.本地线程变量使用场景 并发应用的一个关键地方就是共享数据.如果你创建一个类对象,实现Runnable接口,然后多个Thread对象使用同样的Runnable对象,全部的线程都共享同样的属性.这意味 ...

  10. delta

    1,安装synplyfy:综合工程,便于学习(模块间的关系,数据流向) 2,安装wps office:  www.wps.com/linux,论坛有安装方法和依赖包处理 3,安装kmplayer: 4 ...