项目所用技术回顾之动态创建数据库表
2014-08-04 16:45
197 查看
前台定义好数据表相关字段的名称以后,后台可以动态的创建出一张与其对应的数据库表,其实就是""CREATE TABLE "+ dataTable.getTableName() +" as select * from data_table_sample"
的功劳,data_table_sample定义好了一百个字段,其中nvarchar2类型的字段有40个,clob类型的字段有10个,number类型的字段有40个。前台定义好的字段所对应的名称存储在table_column表中
String sql = "CREATE TABLE "+ dataTable.getTableName() +" as select * from data_table_sample";
connection = dao.getSession().connection();
connection.setAutoCommit(false);
statement = connection.createStatement();
statement.executeUpdate(sql);
for(int i=1;i<=40;i++){
<span style="white-space:pre"> </span>sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId() +",'EX"+ (i<10?"0":"") +i +"','EX"+(i<10?"0":"") +i +"',"+i+",'text',0,0)";
statement.executeUpdate(sql);
}
for(int i=41;i<=50;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'EX"+ (i<10?"0":"") +i +"','EX"+(i<10?"0":"") +i +"',"+i+",'clob',0,0)";
statement.executeUpdate(sql);
}
for(int i=1;i<=20;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'IX"+ (i<10?"0":"") +i +"','IX"+(i<10?"0":"") +i +"',"+(50+i)+",'int',0,0)";
statement.executeUpdate(sql);
}
for(int i=1;i<=10;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'DX"+ (i<10?"0":"") +i +"','DX"+(i<10?"0":"") +i +"',"+(70+i)+",'float',0,0)";
statement.executeUpdate(sql);
}
的功劳,data_table_sample定义好了一百个字段,其中nvarchar2类型的字段有40个,clob类型的字段有10个,number类型的字段有40个。前台定义好的字段所对应的名称存储在table_column表中
String sql = "CREATE TABLE "+ dataTable.getTableName() +" as select * from data_table_sample";
connection = dao.getSession().connection();
connection.setAutoCommit(false);
statement = connection.createStatement();
statement.executeUpdate(sql);
for(int i=1;i<=40;i++){
<span style="white-space:pre"> </span>sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId() +",'EX"+ (i<10?"0":"") +i +"','EX"+(i<10?"0":"") +i +"',"+i+",'text',0,0)";
statement.executeUpdate(sql);
}
for(int i=41;i<=50;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'EX"+ (i<10?"0":"") +i +"','EX"+(i<10?"0":"") +i +"',"+i+",'clob',0,0)";
statement.executeUpdate(sql);
}
for(int i=1;i<=20;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'IX"+ (i<10?"0":"") +i +"','IX"+(i<10?"0":"") +i +"',"+(50+i)+",'int',0,0)";
statement.executeUpdate(sql);
}
for(int i=1;i<=10;i++){
sql = "INSERT INTO TABLE_COLUMN(COLUMN_ID,TABLE_ID,COLUMN_NAME,COLUMN_CNAME,COLUMN_INDEX,COLUMN_TYPE,OPEN,IX01) VALUES(SEQ_TABLE_COLUMN.nextval,"+ dataTable.getTableId()
+",'DX"+ (i<10?"0":"") +i +"','DX"+(i<10?"0":"") +i +"',"+(70+i)+",'float',0,0)";
statement.executeUpdate(sql);
}
相关文章推荐
- 项目所用技术回顾之excel导出(基于poi)
- 项目所用技术回顾之DWR
- 项目所用技术回顾之excel导入(基于poi)
- 项目所用技术回顾之定时任务(基于spring quartz)
- VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)
- [转载]使用反射技术动态创建类对象(实例代码)
- 在VB中动态创建数据库
- 2006数据库技术回顾与展望
- 利用数据库模版创建方便部署的.Net项目调试环境
- Visual C# 2008+SQL Server 2005 数据库与网络开发―― 2.6 创建项目
- MFC技术内幕系列之(三)----MFC执行期类型识别与动态创建技术内幕
- 利用数据库模版创建方便部署的.Net项目调试环境
- 【转】 VS2005 ASP.NET2.0安装项目的制作(包括数据库创建、站点创建、IIS属性修改、Web.Config文件修改)
- 动态创建内容时所用的W3C DOM属性和方法
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.3.3 创建项目
- MFC技术内幕系列之(三)----MFC执行期类型识别与动态创建技术内幕
- 在VB程序中用ADO对象动态创建数据库和表
- MFC六大关键技术剖析之动态创建
- MFC的关键技术:动态创建
- MFC技术内幕系列之(三)---MFC执行期类型识别与动态创建技术内幕