如何自动生成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语句了
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";
}
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯