- 浏览: 71010 次
- 性别:
- 来自: 厦门
最新评论
-
奇林醉:
...
jcaptcha(高级)
文章列表
用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File("c:/test.txt");这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可用,并且从现实应用来讲,最终生成的应用也会部署到Windows外的操作系统中,对于linux来说,在应用中用了c:/这样的字样,就是失败,所以,我们应该尽量避免使用硬编码,即直接使用绝对路径。
在Servlet应用中,有一 ...
Struts、Hibernate和Spring是我们Java开发中的常用关键,也被称为Java三大框架。他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?
传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。但是这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的 Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算 ...
1.1 分区表PARTITION table
在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。
1.1.1 分区表的建立:
某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作如下:
范围分区表:
CREATE TABLE sales
(invoice_no NUMBER,
...
sale_date DATE NOT NULL )
PARTITION BY RANGE (sale_date)
(PARTITION sales1999_q1
VALUES LES ...
一:
创建type头
create or replace type string_sum_obj as object (
--聚合函数的实质就是一个对象
sum_string varchar2(4000),
static function ODCIAggregateInitialize(v_self in out string_sum_obj) return number,
--对象初始化
member function ODCIAggregateIterate(self in out string_sum_obj, value in var ...
1。^\d+$ //匹配非负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$ //匹配正整数
3。^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$ //匹配负整数
5。^-?\d+$ //匹配整数
6。^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
8。^((-\d+(\.\d+)?) ...
1、编写存储过程,显示各个职位(job),工资在2000元分以上人数和1000元以下人数。
2、编写一个存储过程
将各个职位前3位的职员的姓名,职位,工资,名次按工资排序存到一个数据表GOOD中
解答:
1、
create or replace procedure test_cursor
is
cursor c_tmp1 is select '>=2000' as salway,job,sum(case when sal>=2000 then 1 else 0 end) as countnum from emp group by job ;
cursor c_tmp2 is s ...
--基于表emp和dept
--构造Procedure change_salary
--参数:ename in varchar2
salary in number
v_job out varchar2
v_dname out varchar2
--先查找指定员工,如果查出多条记录,提示并异常退出;如果没有该名员工,提示并异常退出。
--如果非上述情况,先判断该名员工的职位,如果职位不是'MANAGER',且要修改的薪水大于8000,拒绝修改并提示:“普通员工不能赚这么多薪水”。
--否则修改该名员工的薪水,
--输出参数:该职员的职位,和所在部门的 ...
--1.存储过程之if
clear;
create or replace procedure mydel(
in_a in integer)
as
begin
if in_a<100 then
dbms_output.put_line('小于100.');
elsif in_a<200 then
dbms_output.put_line('大于100小于200.');
else
dbms_output.put_line('大于200.');
end if;
end;
/
set serveroutput on;
begin
mydel(1102);
end;
/
--------- ...
游标(CURSOR)是ORACLE系统在内存中开辟的一个工作区,在其中存放SELECT语句返回的查询结果.
这个查询结果既可以是零记录,单条记录,也可以是多条记录.在游标所定义的工作区中,存在着一个指针(POINTER),
在初始状态 ...
目标:
·熟悉Oracle存储过程的各种写法
先写下面几个存储过程(无,有,返回普通值,返回结果集)
在Oracle中编写:
1、创建班级表和学生表。
2、添加学生(学号,姓名,班级编号),不返回任何值。
3、添加学生(姓名,班级编号),由程序生成学号并返回(。
4、添加学生(姓名,班级编号),并返回该班的所有学生。
解答:
1、创建 班级表过程 classinfo_create
CREATE OR REPLACE PROCEDURE classinfo_create
Authid Current_User
IS
v_classinfo_sql varchar2(1000);
...
oracle 8i 以后加处的功能,Oracle专家可通过一种简单的方式来为CBO收集统计数据。目前,已经不再推荐你使用老式的分析表和dbms_utility方法来 生成CBO统计数据。那些古老的方式甚至有可能危及SQL的性能,因为它们并非总是能够捕 ...
oracle中的merge函数
例如:table1( col_1a,col_1b,col_1c )
table2( col_2a,col_2b,col_2c )
我想update table1,当col_1a=col_2a时将col_2b和col_2c赋值给col_1b和col_1c。
merge into table a using table b
on a.col=b.col
when matched then
update set a.col=b.col
a.col1=b.col1
很简单就解决了
2007年01月18日 星期四 09:23 A.M.
...
我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。下面来举个例子:
SQL> select * from v$version;
BANNER
---------------------------------------------------------------- ...
create or replace and compile java source named "PF" as
package org.oraclejava.pro;
public class javaCreatePro
{
public static String test( int num)
{
return ""+num*num;
}
} ;
create or replace function PF_FUN(name number) return varchar2 as
language j ...