不同的库的不同的表之间的数据移植7

//方法2:拼接sql语句进行插入操作

String insertFields = "";

String sql = "insert into "+ key_table_dest;

String insertValues = "";

for(Map<String, Object> map : srcDataList){

insertFields = StringUtils.join(map.keySet(), ",");

insertValues += "(‘"+StringUtils.join(map.values(), "‘,‘")+"‘),";

}

if(insertValues.length()>0){

insertValues = insertValues.substring(0, insertValues.length()-1);

}

sql += "("+insertFields+") values " + insertValues;

Session session = null;

try

{

session = getXXXHibernateTemplate().getSessionFactory().openSession();

session.createSQLQuery(sql).executeUpdate();

}

catch (Exception e)

{

// TODO: handle exception

}finally{

if(session!=null && session.isOpen()){

session.close();

}

}

}

}

}

}

				
时间: 2024-10-27 10:47:32

不同的库的不同的表之间的数据移植7的相关文章

不同的库的不同的表之间的数据移植2

* hql中的字段都是属性,表是类名 * String hql = select new map(tA.t1,tA.t2,tB.f1,tB.f2) from TableA tA,TableB tB where tA.id = tB.tid; * List<Map<String, Object>> basicList = getHibernateTemplate().find(hql); * * 或者sql查询 * [使用as是为了取别名.如果字段名和别名一致,就没有必要使用as了]

不同的库的不同的表之间的数据移植3

//1.现在手工构建查询结果 List<Map<String, Object>> basicList = new ArrayList<Map<String,Object>>(); String[] srcData = new String[]{ "table1,table2,A,D", "table1,table2,B,E", "table1,table2,C,F", "table3,ta

不同的库的不同的表之间的数据移植4

//组装查询语句 if(CollectionUtils.isNotEmpty(basicList)){ Set<String> zuheSet = new HashSet<String>(); //获取的Map:{table1*table2:"A as D,B as E,C as F",table3*table4:"O as X,P as Y,Q as Z"} Map<String, StringBuffer> sqlBuildM

不同的库的不同的表之间的数据移植5

if(!sqlBuildMap.isEmpty()){                 Set<Entry<String, StringBuffer>> entrySet = sqlBuildMap.entrySet();                 for(Entry<String, StringBuffer> entry : entrySet){                     String key_table_src = entry.getKey().

表之间的数据复制

我们可以在两张表之间使用insert实现简单的复制,(两张表的结构要相同)实例如下: SQL> create table T( 2  tid number(4), 3  tname varchar2(10) default 'abc', 4  tbirthday date default sysdate); 表已创建. SQL> insert into T values(1,'aaa','05-6月-89'); 已创建 1 行. SQL> insert into T values(2,'

数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver

分别创建增加.删除.更新的触发器(Trigger)来达到两张表之间数据同步的目的. 1:数据同步增加:如有两张表--A表和B表,创建触发器使当A表插入数据后B表也同步插入数据.其中B表插入数据的字段需要同A表中的字段相对应. CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN INSERT INTO B表(B表字段1,B表字段2,B表字段3) SELECT A表字段1,A表字段2,A表字段3 FROM INSERTED END 2.数据同步删除:如有

Oracle数据表之间的数据同步

保证两个数据表结构相同,如不相同只能同步相同字段; 只是思路,具体请根据需求修改. declare cursor csrn_mon is select * from table2; row_mon csrn_mon%rowtype; cursor csrn_loc is select * from table1; row_loc csrn_loc%rowtype; cursor csrn_del is select xh from table1 minus select xh from tabl

sql 从一个库中取某个表的数据导入到另一个库中相同结构的表中

sql 2008 从一个库中把 某个表中的数据导入到另一个库中的具有相同结构的表中 use 库1 go insert into  库1.dbo.表1  select * from  库2.dbo.表1 在这里会遇到一个问题:如果此表的主键或者其中有一个列使用了 IDENTITY(1,1) 自增长时,但又想手动为此列指定时 会出现一个错误.我的做法是先把插入表1的自增给取消,插入成功后在给改过来.

表与表之间建关系

一.一对多 1.确立表与表之间的关系 一定要换位思考(必须两方都考虑周全之后才能得出结论) 以员工表和部门表为例: 1.先站在员工表看能否有多个员工对应一个部门 翻译过来: 一个部门能否有多个员工 可以!!!(暂时只能确定员工单向多对一部门) 2.再站在部门表看能否有多个部门对应一个员工 翻译过来: 一个员工能否属于多个部门 不可以!!! 结论:员工表和部门表之间仅仅是单向的多对一 那么它们的表关系就是"一对多" 表关系中没有多对一一说,只有一对多 (无论是多对一还是一对多都叫&quo