1、通过built path 中的Source 的选择需要编译的文件
2、通过Libraries 加入需要引入的包
42 oracle 导出一条或多条记录的insert语句
鼠标放在表名上右击"export data",选择sql inserts ,填写where条件选择保存路径后导出
43 改造时,分析了解完整个流程,再进行改造。或者 先改造,多测试。
44 生产数据,临时变化的数据一定要复原
45 处理账务数据的时候,首先防重,其次校验需要的条件是否满足
46 自助生成id 参考非税SimpleRandomKeyGen.java
1.SELECT FUNC_GET_UNIQUE_ID(20) FROM DUAL
2.
create or replace function FUNC_GET_UNIQUE_ID (LEN in integer)
return varchar2 is Result varchar2(20);
begin
IF 20=LEN THEN
SELECT to_char(sysdate, 'YYYYMMDDHH24MI') ||
ltrim(TO_CHAR(seq_random.nextval, '09999999'))
INTO Result
FROM dual;
ELSIF 10=LEN THEN
SELECT to_char(sysdate, 'MMDD') ||
ltrim(TO_CHAR(SEQ_RANDOM_6.nextval, '099999'))
INTO Result
FROM dual;
END IF;
return(Result);
end;
seq_random 和 seq_random_6 为oracle 的sequence-序列; 。nextval 得到下一个序列号值,。currval得到当前序列的值
create sequence sequence_name increase by 1 --(增量为1)
start with 10000--(初值)
nomaxvalue
nocycle
nocache
47 事务 java.sql.Connection conn = new java.sql.Connection();
开启事务
conn.setAutoCommit(false)
事务回滚
conn.rollback();
conn.setAutoCommit(true);
需要注意的是conn != null && conn.isClosed() == false try catch
提交事务
conn.commit();
conn.setAutoCommit(true);
48 oracle 插入'&' 特殊字符
insert into TS_SYS_FUNC (FUNC_ID, FUNC_NAME, FUNC_URL, UP_FUNC_ID, BIND_ID, FUNC_LEVEL, AUTH_LEVEL, FUNC_STATUS, MEMO, ORD_ID, FUNC_TYPE, TRANS_ID)
values ('179', '批量未明确交易维护', '/kft/maintainPreSearchBatch.do?method=preSearchBatch$$$transID=02-01-06$$$sysCode=S020', '173', '179', '4', null, '1', null, 179, 'M', '02-01-06');
update TS_SYS_FUNC t
set t.func_url = replace(t.func_url,'$$$' ,'&' )
where t.func_id in ('172','173','163','164','154','155') or t.up_func_id in ('173','164','155');
49 设置金额格式
java.text.DecimalFormat df = new DecimalFormat("0.00");
df.format(double)
50 用主表的返回更新明细数据 (数据操作 使用SELECT 更新 )
update td_interface_oes_detail t
set t.rtn_msg = (select t1.rtn_msg
from td_interface_oes_main t1
where t.id = t1.id )
where t.seq_no = '10000'
分析:可以先写一个简单的demo,然后修改实际数据达到要求
51 关键字 instanceof
52 分页 request 和 sql配合
requset 中存放当前页数 和 每页条数
sql 采用分页 函数
53 静态网页和动态网页的主要区别之处是什么?
静态,没有交互性。
54 include指令中使用page和file有没有区别?
55 request的getParameter和getAttribute获取的具体是什么参数
56 MERGE INTO archive ar
USING ( SELECT activity, description FROM activities) ac
ON (ar.activity = ac.activity) //此处为Merge的条件
WHEN MATCHED THEN //当条件成立时则执行下面的Update操作
UPDATE SET
description = ac.description
WHEN NOT MATCHED THEN //当条件不成立时则执行下面的Insert操作
INSERT
(activity, description)
VALUES (ac.activity, ac.description)
上面的语句用来对archive表进行更新与插入的操作,
当条件成立时用activities表的description字段值来更新archive表的description字段值,
当条件不成立时,则用activities表的activity, description字段值进行Insert操作。
merge into 必须是两张表吗?
嗯,需要
一张是插入,一张是源
57 如何补录完成后自动跳转到下一条
setList 保存id , 获取下一条的时候排除掉这些id;
58 修改字段类型number为varchar2
方法1)新加一个字段(按照新的数据类型),然后把数据复制过来。(不足:改变了表的字段顺序)
--修改原字段名SERIAL_NO为SERIAL_NO_bak
alter table td_batch_head rename column SERIAL_NO to SERIAL_NO_bak;
--增加一个和原来字段名相同的字段SERIAL_NO
alter table td_batch_head add SERIAL_NO varchar2(38);
--将原来的SERIAL_NO_bak数据使用to_char函数更新到增加的字段SERIAL_NO
update td_batch_head set SERIAL_NO = to_char(SERIAL_NO_bak);
--更新完成,删除原来字段SERIAL_NO_bak
alter table td_batch_head drop column SERIAL_NO_bak;
方法2)新建一个表,再把数据复制过来
--方法二
alter table td_batch_head_temp1 rename to td_batch_head_temp1_bak;
-- Create table
create table TD_BATCH_HEAD_TEMP1
(
SERIAL_NO varchar2(38) not null,
BANK_NO VARCHAR2(9) not null,
UNIT_NO VARCHAR2(20) not null,
UNIT_NAME VARCHAR2(100),
SUMMARY VARCHAR2(200),
IS_PRINT INTEGER,
PROC_DATE VARCHAR2(8) not null,
TOTAL_COUNT NUMBER(10) default 0 not null,
TOTAL_AMT NUMBER(16,2) default 0 not null,
BANK_RECV_DATE VARCHAR2(10),
BANK_RECV_TIME VARCHAR2(8),
BANK_SUCCESS_COUNT NUMBER(10) default 0,
BANK_SUCCESS_AMT NUMBER(16,2),
BANK_FAIL_COUNT NUMBER(10) default 0,
BANK_FAIL_AMT NUMBER(16,2) default 0,
BANK_SEND_DATE VARCHAR2(10),
BANK_SEND_TIME VARCHAR2(8),
FINANCE_TOTAL_COUNT NUMBER(10) default 0,
FINANCE_SEND_DATE VARCHAR2(10),
FINANCE_SEND_TIME VARCHAR2(8),
OES_MAIN_ID VARCHAR2(20),
SEND_STATE INTEGER,
AC_NO_DS VARCHAR2(50),
KFT_MAIN_ID VARCHAR2(20)
)
tablespace BASEDATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table TD_BATCH_HEAD_TEMP1
is '批量收款数据头表';
-- Add comments to the columns
comment on column TD_BATCH_HEAD_TEMP1.SERIAL_NO
is '标识号';
comment on column TD_BATCH_HEAD_TEMP1.BANK_NO
is '银行编码';
comment on column TD_BATCH_HEAD_TEMP1.UNIT_NO
is '单位编码';
comment on column TD_BATCH_HEAD_TEMP1.UNIT_NAME
is '单位名称';
comment on column TD_BATCH_HEAD_TEMP1.SUMMARY
is '摘要,如:学费、水电费等';
comment on column TD_BATCH_HEAD_TEMP1.IS_PRINT
is '是否打印票据
0 否
1 是
';
comment on column TD_BATCH_HEAD_TEMP1.PROC_DATE
is '日期';
comment on column TD_BATCH_HEAD_TEMP1.TOTAL_COUNT
is '总笔数';
comment on column TD_BATCH_HEAD_TEMP1.TOTAL_AMT
is '总金额';
comment on column TD_BATCH_HEAD_TEMP1.BANK_RECV_DATE
is '银行接收日期';
comment on column TD_BATCH_HEAD_TEMP1.BANK_RECV_TIME
is '银行接收时间';
comment on column TD_BATCH_HEAD_TEMP1.BANK_SUCCESS_COUNT
is '银行返回批扣结果总笔数--成功';
comment on column TD_BATCH_HEAD_TEMP1.BANK_SUCCESS_AMT
is '银行返回批扣结果总金额--成功';
comment on column TD_BATCH_HEAD_TEMP1.BANK_FAIL_COUNT
is '银行返回批扣结果总笔数--失败';
comment on column TD_BATCH_HEAD_TEMP1.BANK_FAIL_AMT
is '银行返回批扣结果总金额--失败';
comment on column TD_BATCH_HEAD_TEMP1.BANK_SEND_DATE
is '银行发送批扣结果日期';
comment on column TD_BATCH_HEAD_TEMP1.BANK_SEND_TIME
is '银行发送批扣结果时间';
comment on column TD_BATCH_HEAD_TEMP1.FINANCE_TOTAL_COUNT
is '财政返回错误笔数';
comment on column TD_BATCH_HEAD_TEMP1.FINANCE_SEND_DATE
is '财政返回日期';
comment on column TD_BATCH_HEAD_TEMP1.FINANCE_SEND_TIME
is '财政返回时间';
comment on column TD_BATCH_HEAD_TEMP1.OES_MAIN_ID
is '与OES主表主键关联';
comment on column TD_BATCH_HEAD_TEMP1.SEND_STATE
is '(与财政相关联状态)-1 未发送 0 发送成功 1 发送失败 2 全部扣款成功 3全部扣款失败 4 部分扣款成功';
comment on column TD_BATCH_HEAD_TEMP1.AC_NO_DS
is '代收专户账号 -- 区分 不同区委财政交易';
comment on column TD_BATCH_HEAD_TEMP1.KFT_MAIN_ID
is '与KFT主表主键关联';
-- Create/Recreate primary, unique and foreign key constraints
alter table TD_BATCH_HEAD_TEMP1
add constraint PK_TD_BATCH_HEAD_TEMP1 primary key (SERIAL_NO)
using index
tablespace BASEDATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
insert into TD_BATCH_HEAD_TEMP1
(SERIAL_NO,
BANK_NO,
UNIT_NO,
UNIT_NAME,
SUMMARY,
IS_PRINT,
PROC_DATE,
TOTAL_COUNT,
TOTAL_AMT,
BANK_RECV_DATE,
BANK_RECV_TIME,
BANK_SUCCESS_COUNT,
BANK_SUCCESS_AMT,
BANK_FAIL_COUNT,
BANK_FAIL_AMT,
BANK_SEND_DATE,
BANK_SEND_TIME,
FINANCE_TOTAL_COUNT,
FINANCE_SEND_DATE,
FINANCE_SEND_TIME,
OES_MAIN_ID,
SEND_STATE,
AC_NO_DS,
KFT_MAIN_ID)
select to_char(SERIAL_NO),
BANK_NO,
UNIT_NO,
UNIT_NAME,
SUMMARY,
IS_PRINT,
PROC_DATE,
TOTAL_COUNT,
TOTAL_AMT,
BANK_RECV_DATE,
BANK_RECV_TIME,
BANK_SUCCESS_COUNT,
BANK_SUCCESS_AMT,
BANK_FAIL_COUNT,
BANK_FAIL_AMT,
BANK_SEND_DATE,
BANK_SEND_TIME,
FINANCE_TOTAL_COUNT,
FINANCE_SEND_DATE,
FINANCE_SEND_TIME,
OES_MAIN_ID,
SEND_STATE,
AC_NO_DS,
KFT_MAIN_ID
from TD_BATCH_HEAD_TEMP1_bak;
方法三、 创建备份表,备份数据,删除原表,修改表结构,导入数据。
59 重型方法和轻型方法的区分是?
UML/RUP/CMM这些重型方法
60 您好,我是XXX,我这边有一个XX问题想找XX.(与财委业务交流)