存储过程例子

原创 2013年12月04日 09:55:51

 

 

create table TESTTB
(
ID VARCHAR2(30),
NAME VARCHAR2(30)
)

Insert into testtb values('1','21');
Insert into testtb values('2','22');
Insert into testtb values('3','23');
Insert into testtb values('4','24');

1、用来插入数据,没有返回值(参数类型varchar2不用说明长度,否则会编译不过)
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2, PARA2 IN VARCHAR2)
AS
BEGIN
INSERT INTO HUANGBIAO.TESTTB(ID, NAME) VALUES (PARA1, PARA2);
END TESTA;

2、查询只有一个返回值的结果集合
CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2, PARA2 OUT VARCHAR2)
AS
BEGIN
SELECT NAME INTO PARA2 FROM TESTTB WHERE ID = PARA1;
END TESTB;

3、查询有多个返回值的集合(一组数据)
CREATE OR REPLACE PACKAGE TESTPACKAGE AS
TYPE TEST_CURSOR IS REF CURSOR;
end TESTPACKAGE;

CREATE OR REPLACE PROCEDURE TESTC(P_CURSOR out
TESTPACKAGE.TEST_CURSOR) IS
BEGIN
OPEN P_CURSOR FOR
SELECT * FROM HUANGBIAO.TESTTB;
END TESTC;


存储器和函数的区别?
最本质的区别是存储过程是命令, 而函数是表达式的一部分


create or replace procedure proc_select(
table_id in varchar2
)as
hbsql varchar2(500);
begin
	hbsql:='select name from testtb where id='||table_id;
	execute immediate hbsql;
end;
备注:上面的变量不能使用sql,即“hbsql”不能写为“sql”
execute proc_select('3');


create or replace procedure proc_insert
(
id in varchar2, --输入序号
name in varchar2 --输入姓名
) as
str_sql varchar2(500);
begin
str_sql:='insert into testtb values(:1,:2)';
execute immediate str_sql using id,name; --动态执行插入操作
exception
when others then
null;
end ;

SQL> execute proc_insert('11',’dinya’);

 

mysql存储过程详解实例

mysql存储过程详解实例
  • pang_da_xing
  • pang_da_xing
  • 2016年12月23日 10:23
  • 6275

sql server存储过程 以及几个常用案例

转载自http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html SQL Server 存储过程 Transact-S...
  • yuliangliang092
  • yuliangliang092
  • 2016年04月23日 10:41
  • 781

sql存储过程几个简单例子(一)

导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解。 例1: ...
  • imxiangzi
  • imxiangzi
  • 2015年01月18日 09:44
  • 2098

DB2 存储过程几个例子

本篇文章主要介绍了"DB2 存储过程几个例子",主要涉及到DB2 存储过程几个例子方面的内容,对于DB2 存储过程几个例子感兴趣的同学可以参考一下。 ...
  • Lee_Decimal
  • Lee_Decimal
  • 2017年03月30日 16:52
  • 1105

hadoop学习工作总结(六)之生成hive的一个存储过程

declare   -- Local variables here   i integer;   v_max_i number;   v_where varchar2(4000);   v_...
  • xiaozhuangfeng
  • xiaozhuangfeng
  • 2014年09月02日 16:54
  • 1954

c++调用存储过程例子

c++调用存储过程例子   ...  _CommandPtr    m_cmdptr;   m_cmdptr.CreateInstance(__uuidof( Command ) );    _Par...
  • panpanxj
  • panpanxj
  • 2008年10月09日 16:01
  • 2837

db2存储过程小例子

create or replace procedure viewstat_logins_pro(In counts Bigint) language sql begin declare i Bigin...
  • king_moyu
  • king_moyu
  • 2017年05月03日 20:12
  • 167

pl/sql 存储过程实例

create or replace function IsDone(s_id in varchar2,s_TaskNum in varchar2,s_TaskType in integer) r...
  • whuarui2010
  • whuarui2010
  • 2012年05月06日 00:51
  • 2995

oracle简单的存储过程以及job示例

最近需要oracle循环定时执行一段sql语句,然后需要建立存储过程,本人的sql语句属于DML语句,步骤如下: 1、创建存储过程 create or replace procedure cube...
  • jiyang_1
  • jiyang_1
  • 2017年02月24日 11:28
  • 571

一个 Oracle 存储过程编写的入门级例子

  一个 Oracle 存储过程编写的入门级例子    存储过程是在面试中常被问到的程序员必备技能之一。很多朋友被问到时唯唯诺诺,吞吞吐吐,明显自信不足。其实存储过程无外乎就是特定的功能,在特定的层次...
  • defonds
  • defonds
  • 2009年07月13日 16:13
  • 31248
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:存储过程例子
举报原因:
原因补充:

(最多只允许输入30个字)