大众信息网

如何自动生成sql insert语句

答案:2  mip版
解决时间 2021-02-26 02:52
  • 提问者网友:心死旳很干净
  • 2021-02-25 09:39
如何自动生成sql insert语句
最佳答案
  • 二级知识专家网友:在時光深處躲貓貓
  • 2021-02-25 10:28
第一步,启动plsql,连接Oracle数据库,打开sql窗口(默认就是sql窗口)
2
第二步,将以语句中的表名替换要insert数据的表的表名
SELECt 'INSERT INTO ' || STR_LINK(DISTINCT(T.TABLE_NAME)) || ' (' || STR_LINK(T.COLUMN_NAME) || ')' || ' SELECT ' || STR_LINK(T.COLUMN_NAME) || ' FROM DUAL;' FROM USER_TAB_COLUMNS T WHERe T.TABLE_NAME = upper('表名');

例如,要向表test_t中插入数据,则替换表名后的语句如下
SELECt 'INSERT INTO ' || STR_LINK(DISTINCT(T.TABLE_NAME)) || ' (' || STR_LINK(T.COLUMN_NAME) || ')' || ' SELECT ' || STR_LINK(T.COLUMN_NAME) || ' FROM DUAL;' FROM USER_TAB_COLUMNS T WHERe T.TABLE_NAME = upper('test_t');
3
第三步,执行第二步修改好的语句,在查询结果的表格窗口中就可以看生成好的insert语句了
全部回答
  • 1楼网友:风是甜的
  • 2021-02-25 11:52
datatable dt = new datatable("table1"); dt.columns.addrange(new datacolumn[] { new datacolumn("column0"), new datacolumn("column1"), new datacolumn("column2"), new datacolumn("column3") }); for (int j = 0; j < 10; j++) {     dt.rows.add(j, j, j, j); } string header = string.empty; string query = string.empty; header = "insert into [" + dt.tablename + "] ("; foreach (datacolumn item in dt.columns) {     header += "[" + item.columnname + "],"; } header = header.remove(header.length - 1) + ") values ("; for (int i = 0; i < dt.rows.count; i++) {     string values = string.empty;     for (int j = 0; j < dt.columns.count; j++)     {         values += "'"+dt.rows[i][j].tostring() + "',";     }     query += header + values.remove(values.length - 1) + ")\n"; }
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯