随笔分类 - Java.JDBC
摘要:【SQL】 select a.table_name as name,b.comments as remark from (select table_name from user_tables ) a inner join (select table_name,comments from user_t
阅读全文
摘要:读取: String value=ps.getString(columnIndex); 这个和字符型字段的读取一致。 写入: String value=......; ps.setCharacterStream(columnIndex,new StringReader(value),value.le
阅读全文
摘要:【需求】 程序中需要建表,需要动态知道DB系统所允许的表名最大长度。 如果按11g允许的30位给12c,19c设置,那么后两者实际允许的128位就被武断限制了。 【思路】 使用create table tname(df char(1));这样的语句建表,不断加长tname的长度,当建表出现异常时,回
阅读全文
摘要:在笔者一段程序中有这样的代码: final int BATCH_SIZE=10000; final String sql=buildSql(...); try(Connection conn=DbUtil.getConn(); PreparedStatement pstmt=conn.prepare
阅读全文
摘要:【目的】 验证ps的占位符能否用于表名 【代码】 package com.hy.lab.timediff; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; im
阅读全文
摘要:如果登录用户的默认schema就是表的schema,那么查询时直接用select fields from table就行; 如果登录用户的默认schema不是表的schema,那么要查询到结果,必须用select fields from schema.table,否则会报表不存在的SQLExcept
阅读全文
摘要:【需求】 Oracle表中记录时间的字段有字符串类型、Date类型、Timestamp类型三种,要求取得三种类型的时间差。 【表结构】 create table emp706( id number(3), f1s nvarchar2(20), f1e nvarchar2(20), f2s date,
阅读全文
摘要:【代码】 package com.hy.lab.timestampdiff; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Date
阅读全文
摘要:【结果】 主键冲突,程序爆: java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (LUNA.SYS_C0012021) 【潜在危险】 如果目的表有主键,插入重复记录会导致同批次的其它记录受异常影响。 如果目的表没有主键,则重复记录需要预处理。 【代
阅读全文
摘要:迁移脱敏程序的核心之一--迁移部分。
阅读全文
摘要:如果使用PreparedStatement.executeBatch()向DB批量提交数据,比如一次提交一万条,总数两百万条,总共要提交两百次。 在循环提交的同时,使用sqlplus打开目标端的数据库连接,使用select count(*) from table连续观察记录数, 会发现count是这
阅读全文
摘要:代码: package com.hy.lab.tenmillion; import java.sql.*; import java.util.ArrayList; import java.util.List; public class BigTbBuilder { private static fi
阅读全文
摘要:硬件环境:Thinkpad t440p 4G 软件环境:Oracle11g 运行环境:Idea控制台程序 建表: create table bulk63( id number(20), f01 nvarchar2(20), f02 nvarchar2(20), f03 nvarchar2(20),
阅读全文
摘要:代码: package com.hy.lab.colcomment; import java.sql.*; public class Test2 { public static Connection getConnection() { Connection conn = null; try { Cl
阅读全文
摘要:在SqlPlus中显示clob字段时,如果其内容稍长便会截取前面一小段显示,稍有不便;
若借助dbms_lob.substr()函数,长文本便可一览无余,颇为方便;
SQL Sample:select dbms_lob.substr(content) from emp0520 where id=1
阅读全文
摘要:表定义: create table emp516( id number(12), f1 nvarchar2(20), f2 varchar2(30), f3 number(10,2), f4 timestamp ) 程序: package com.hy.lab.fieldproperty; impo
阅读全文
摘要:表: create table msx0504( id number(12), filename nvarchar2(20), content blob, primary key(id) ); 代码: package com.hy.lab.blob2; import java.io.FileOutp
阅读全文
摘要:表: create table msx0504( id number(12), filename nvarchar2(20), content blob, primary key(id) ); 代码: package com.hy.lab.blob2; import java.io.File; im
阅读全文
摘要:表: create table tb0504( id number(12), content blob, primary key(id) ); 程序: package com.hy.lab.blob; import java.io.FileInputStream; import java.io.Fi
阅读全文
摘要:表: create table tb0504( id number(12), content blob, primary key(id) ); 写入代码: package com.hy.lab.blob; import java.io.FileInputStream; import java.io.
阅读全文