【Oracle 存储结构三】教程文章相关的互联网学习教程文章

oracle 存储过程 基础【代码】

-- 变量声明 var1 number(2); -- 仅声明 var2 char(2) := ‘11‘; -- 在声明的同时初始化 begin -- 语句 end; -- 语句块结束if 语句 if a = 1 or b = 2 then elsif c = 3 then else end if; case 语句   case语句如果作为分支控制语句,最后结束语句是end case,如果是作为select语句里的控制语句则只需要end。declare num number(10) := 1; begin case when num = 0 then dbms_ou...

使用mybatis执行oracle存储过程【代码】【图】

OR REPLACE Procedure cascadeoperation As Begin Delete From teacher Where id=1; Update studentdetail Set address=‘宁波市海曙区‘ Where studentid=10; End; 这里执行了2个操作,可能用过mybatis的人会迷惑执行的时候到底使用update标签呢还是delete标签,其实都行,我也试过select标签也是OK的,下面是部分的配置文件<delete id="cascadeOperation" statementType="CALLABLE" > {call cascadeoperation} </dele...

oracle存储过程实例【图】

分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有非常多长处,详细归纳例如以下: * 存储过程和函数以命名的数据库对象形式存储于数据库其中。存储在数据库...

Java调用Oracle存储过程【代码】

存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGININSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2); END TESTA; 然后呢,在java里调用时就用下面的代码:import java.sql.*; import java.sql.ResultSet;public class TestProcedureOne {public TestProcedureOne() {}public static void main(String[] args ){String driver = "oracle.jdbc.driver.OracleDriver";String...

oracle存储过程的例子【图】

分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块。而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比。存储过程有非常多长处。详细归纳例如以下: * 存储过程和函数以命名的数据库对象形式存储于数据库其中。存储在数据库...

Oracle存储过程 输出参数赋值异常:“Oracle.DataAccess.Types.OracleString”的类型初始值设定项引发异常。

场景: 写了一个有返回参数的存储过程,在个另开发人员机器上都正常。其它机器报如题错误。让人郁闷的是,所有调用方都是客户端,根本不存在网上众贴所说的版本不一致问题。 分析: 虽然网上的帖子没有根本解决问题,但还是给了些丝路。参数值类型问题。而且,我也把输出参数赋值语句注释后,也可以正常调用(只是结果没返回)。尝试了将类型转为Oracle的OracleString,强制转clr的string,都不行。 dicParaOut[kvp.Key] = (strin...

ORACLE 索引、视图、游标、存储过程和触发器

目标是为了提高查询的速度,当用户对查询速度不满意而需要对数据库的性能进行调校时,优先考虑建立索引。 数据库中索引的概念与书索引的概念非常类似,不同之处在于数据库索引用来在表中查找特定的行。 索引缺点:向表中“添加/删除”行时,必须花费额外的时间来更新该行的索引。 创建索引的时机:当需要从大表中检索少数几行时,都应该对列创建索引。 基本准则:当任何单个查询要检索的行<=整个表行数的...

oracle存储过程入门

1.在数据库中创建以下的存储过程: java代码: create or replace procedure pro_hello(p_user_name in varchar2,p_result out varchar2) is begin p_result := ‘hello,‘ || p_user_name; end; 2.编写SQL映射文件mapper.xml: java代码: <select id="proHello" statementType="CALLABLE"> <![CDATA[ {call pro_hello (#{p_user_name,mode=IN,jdbcType=VARCHAR},#{result,mode=OUT,jdbcType=VARCHAR})}...

oracle调用array参数存储过程

-- Non-scalar parameters require additional processing files tyt_gas2014_search;temp tyo_gas2014_search:=tyo_gas2014_search(‘CREATOR‘,1,‘test‘,1);temp1 tyo_gas2014_search:=tyo_gas2014_search(‘CREATETIME‘,4,‘2015/4/17 0:00:00‘,3);temp2 tyo_gas2014_search:=tyo_gas2014_search(‘CREATETIME‘,3,‘2015/6/18 0:00:00‘,3);begin-- Call the procedurefiles := tyt_gas2014_search(); files.extend(3); ...

关于在Oracle 数据库存储m&#179;(立方米)【代码】【图】

--------------注意:如下操作是在RHEL的VNC中执行的,并不是在secureCRT中执行的。------------ --------------原因:若是在secureCRT执行,m3会显示成:m鲁,见如下的截图,是啥原因我还没研究-- 如下是实验的过程:[oracle@lei1 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 [oracle@lei1 ~]$ sqlplus scott/aaaaaaSQL*Plus: Release 11.2.0.3.0 Production on Sat Jun 20 10:02:14 2015Copyright (c) 1982, 2011, Oracle. A...

oracle存储过程基本

select a.id,a.name into 变量1,变量2 from user a where a.longname=参数1 and a.password =参数2; --将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有且只有一条记录,否则抛出异常 N_A:=v_F; --select查询的结果有且只有一条数据时返回v_F;EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line(‘没有找到数据!‘); N_A:=0; --select没有查询到数据时返回0WHEN TOO_MANY_ROWS THEN d...

Oracle 存储过程实例2

创建存储过程CREATE OR REPLACE PROCEDURE xxxxxxxxxxx_p(--参数IN表示输入参数,OUT表示输入参数,类型可以使用任意Oracle中的合法类型。 is_ym IN CHAR)AS--定义变量 vs_msg VARCHAR2(4000); --错误信息变量 vs_ym_beg CHAR(6); --起始月份 vs_ym_end CHAR(6); --终止月份 vs_ym_sn_beg CHAR(6); --同期起始月份 vs_ym_sn_end CHAR(6); --同期终止月份--定义游标(简单的说就是一个可以遍历的结果集)CUR...

Oracle数据库PL/SQL存储过程游标触发器【代码】

create or replace procedure add_food_pro (name in varchar,price in number,description in varchar) as begin insert into food (f_name,f_price,description)values(name,price,description); commit; end; --下面的代码是调用存储过程 begin add_food_pro(‘糖醋鱼‘,12,‘美味‘); end;创建一个带有输出参数的存储过程,以a+b=c为例create or replace procedure add_num_pro (a in int,b in int,c out int) as begin c:=a...

Oracle 存储过程

create or replace procedure p1 as begindbms_output.put_line(‘Hello World‘); end; --调用 call p1(); 2.接收参数 create or replace procedure p2 (p_name varchar,p_age in int) asv_id int; beginselect max(id) into v_id from stud;v_id := v_id + 1;insert into stud values(v_id,p_name,p_age); end; --调用:call p2(‘Alex‘,56); 3.输出类型的参数 create or replace procedure p3 (p_name varchar,p_age in ...

Ado.net 调用oracle存储过程

HealthInsurance_PatientInfo GetYBJKData_ByHisId(string strHisid){HealthInsurance_PatientInfo entity = new HealthInsurance_PatientInfo();#region 初始化存储过程参数OracleConnection conn = new OracleConnection(EFContextFactory.GetCurrentDbContext().Database.Connection.ConnectionString);OracleCommand cmd = new OracleCommand();cmd.Connection = conn;cmd.CommandType = CommandType.StoredProcedure;cmd.Comm...