`
文章列表
1.  概述: 在jdbc的数据库操作中,一项事务是由一条或是多条表达式所组成的一个不可分割的工作单元。我们通过提交commit()或是回滚rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。 2.  特点:★ 在jdbc中,事务操作缺省是自动提交。也就是说,一条对数据库的更新表达式代表一项事务操作,操作成功后,系统将自动调用commit()来提交,否则将调用rollback()来回滚。★ 在jdbc中,可以通过调用setAutoCommit(false)来禁止自动提交。之后就可以把多个数据库操作的表达式作为一个事务,在操作完成后调用c ...
有多种方法可以提高更新的效率.简单说来:1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建.2、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.3、创建一临时的大的表空间用来应对这些更新动作.=========================================================================不同看法如果UPDATE的是索引字段,就会涉及到索引的重建,暂停索引不会提高多少的速度,反而有可能降低UPDATE速度,因为在更新是索引可以提高数据的查询速度,重建索引引起的速度降低影响不大。 ORACLE优化修改参数最多 ...
1.1 PL/SQL简介    PL/SQL是ORACLE的过程化语言,包括一整套的数据类型、条件结构、循环结构和异常处理结构,PL/SQL可以执行SQL语句,SQL语句中也可以使用PL/SQL函数。  1.2 创建PL/SQL程序块  DECLARE … BEGIN … EXCEPTION END; 1.3 PL/SQL数据类型  名称 类型 说明  NUMBER 数字型 能存放整数值和实数值,并且可以定义精度和取值范围  BINARY_INTEGER 数字型 可存储带符号整数,为整数计算优化性能  DEC 数字型 NUMBER的子类型,小数  DOUBLE PRECISION 数字型 NUM ...
一、如何创建java存储过程? 1. 使用oracle的sql语句来创建: 2. 使用外部class文件来装载创建3. 推荐的一种方法,直接使用loadjava命令远程装载并创建。   1. 使用oracle的sql语句来创建: e.g. 使用create or replace and compile java source nam ...
共4个 一.只有输入参数没有返回结果的存储过程 二. 有输入和有一个返回值的存储过程 三、返回多行记录的存储过程(返回的是游标) 四、Hibernate调用oracle存储过程     一.只有输入参数没有返回结果的存储过程 建表 create table table_1(id varchar2(10),name varchar2(10));   --没有返回值的存储过程create or replace procedure prc_1(t_id in varchar2,t_name in varchar2)as  begin   insert into table_1 v ...
翻译:陈先波(turbochen@163.com)阅读原文:http://www.theserverside.com/articles/article.tss?l=JDBCPerformance_PartIII一、使用Statement而不是PreparedStatement对象JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.PreparedStatement的第一次执行消耗 ...
在使用Hibernate分页器时,习惯使用直接把查询语句、页数、分页大小,传给分页器,这样会默认使用last来获取总记录数,效率非常的低。解决方法,很简单,就是用SQL来count查询条件获得总记录的Query,再给Hibernate分页器(本身 ...
JDBC2.0后提出了三种不同的cursor类型,用户代码可以在创建Statement指定cursor类型,如下: Statement createStatement( int resultSetType, int resultSetConcurrency) cursor类型 ResultSet.TYPE_FORWARD_ONLY    默认的cursor类型,仅仅支持向前forward,不支持 ...
CacheMode.GET  - 从二级缓存中读取数据,仅在数据更新时对二级缓存写数据。 CacheMode.IGNORE CacheMode.NORMAL - 从二级缓存中读、写数据。 CacheMode.PUT  - 仅向二级缓存写数据,但不从二级缓存中读数据。 CacheMode.REFRESH - 仅向二级缓存写数据,但不从二级缓存中读数据。 https://www.hibernate.org/hib_docs/v3/api/org/hibernate/CacheMode.html  
atf项目-用oracle存储过程修复 六月份的数据 一共近两万条数据       Step 1. 先执行 temp_table Step 2  执行 ticket_0601_prc, t_fee_clear_list_0601_prc, debtor_clear_list_0601_prc Step 3  执行 ticket_05_prc, t_fee_clear_list_05_prc, debtor_clear_list_05_prc Step 4  执行 ticket_front_06_prc   每个存储过程都会有对应的输出语句输出到临时表中,请回复这些输出,谢谢 ...
BEGIN  SELECT ...  SELECT ...  SELECT ...  ...  EXCEPTION  WHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors    2、异常的分类    有两种类型的异常,一种为内部异常,一种为用户自定义异常,内部异常是执行期间返回到PL/SQL块的ORACLE错误或由PL/SQL代码的某操作引起的错误,如除数为零或内存溢出的情况。用户自定义异常由开发者显示定义,在PL/SQL块中传递信息以控制对于应用的错误处理。    每当PL/SQL违背了ORACLE原则或超越了系统依赖的原 ...
SQL> set serveroutput on;   报  ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes问题的解决 方法1:set serveroutput on size 1000000 方法2:exec dbms_output.enable(999999999999999999999);
今天在我们的项目经理肖老大带领下(做一个管理系统的分级权限)       我们小组讨论了一个分级权限的问题,确实业务复杂了,想了几种方案, 说到权限管理,我也来项目总结一下 ,知识浅薄,希望javaEye众多高手和师兄们指点一下!(当然我总结的是数据库方面的) 当然 我随便举一个超市管理系统的例子吧! 数据库分析的前提条件 1、掌握数据库关系理论    关系DB=实体+关系=PK+FK    关系 = 一对一(11,11) + 一对多(1M,11) + 多对多(1M,1M)    范式(3NF)    1NF = 不能将很多信息放一个字段(列不可再分);每个表都要有主键(每一行都必须不同);   ...
1 存储子程序 存储子程序是指被命名的PL/SQL块,以编译的形式存储在数据库服务器中,可以在应用程序中进行调用,是PL/SQL程序模块化的一种体现。PL/SQL中的存储子程序包括存储过程和(存储)函数两种。通常,存储过程用于执行特定的操作,不需要返回值;而函数则用于返回特定的数据。在调用时,存储过程可以作为一个独立的表达式被调用,而函数只能作为表达式的一个组成部分被调用。 存储子程序是以独立对象的形式存储在数据库服务器中的,因此是一种全局结构,与之对应的是局部子程序,即嵌套在PL/SQL块中的局部过程和函数,其存储位置取决于其所在的父块的位置。 2 存储过程 3.存储过程的创建 create ...
===================================================================== oracle存储过程 登陆系统 create or replace procedure insert_user_information (  p_user_login_name in varchar2,[color=red][/color]  p_user_password in varchar2,  p_user_name in varchar2,  p_user_telephone in varchar2,  p_user_type in number, ...
Global site tag (gtag.js) - Google Analytics