社区
Web 开发
帖子详情
如何将多个字段同时插入多个表中?
davidforever
2006-04-11 08:36:20
假设我有两个表A,B.A表有三个字段A1,A2,A3,A1为主键,B表有三个字段B1,B2,B3,B1为主键,B3为外键,A,B两表通过A1,B3连接.如何同时将值插入这几个字段中?该INSERT语句该怎样写???
...全文
169
8
打赏
收藏
如何将多个字段同时插入多个表中?
假设我有两个表A,B.A表有三个字段A1,A2,A3,A1为主键,B表有三个字段B1,B2,B3,B1为主键,B3为外键,A,B两表通过A1,B3连接.如何同时将值插入这几个字段中?该INSERT语句该怎样写???
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiaoyonggang
2006-04-12
打赏
举报
回复
建议用 存储过程 或存储函数 可以保证 同步!
langya333
2006-04-12
打赏
举报
回复
学习
lcllcl987
2006-04-12
打赏
举报
回复
建议用存储过程。存储过程其实蛮好写。如果实在不会,就用jdbc的事务处理,贴一个批量运行sql的代码:
/**
* Excute sql
*/
public boolean doStatement(String[] sqlStrs)
{
boolean flag = false;
if (sqlStrs.length < 1)
return false;
try
{
InitialContext initial = new InitialContext();
ds = (DataSource) initial.lookup(dbjndi);
con = ds.getConnection();
con.setAutoCommit(false);
stmt = con.createStatement();
//System.out.println("sqlStrs.length:" + sqlStrs.length);
int count = sqlStrs.length / 7000 + 1;
System.out.println("count:" + count);
int end = 0;
for (int ii = 0; ii < count; ii++)
{
stmt.clearBatch();
end = (ii + 1) * 7000;
if (end > sqlStrs.length)
end = sqlStrs.length;
for (int i = ii * 7000; i < end; i++)
{
//modify by lcl
if (sqlStrs[i] != null && sqlStrs[i].trim().length() > 0)
stmt.addBatch(sqlStrs[i]);
System.out.println("in DbOperate.doStatement sql : " + sqlStrs[i]);
}
stmt.executeBatch();
//System.out.println("excute back:" + ii + "Strins begin:" + ii * 7000 + " end :" + end);
}
con.commit();
System.out.println("excute sql finished!");
flag = true;
}
catch (NamingException ee)
{
//System.out.println("DbOperate.java : find data source error, " + ee.toString());
stmtStr = "find data source error";
flag = false;
}
catch (Exception ex)
{
stmtStr = StringTool.removeNewline(ex.toString());
ex.printStackTrace();
if (ex.toString().indexOf("ORA") > 0)
stmtStr = StringTool.removeNewline(ex.toString().substring(ex.toString().indexOf("ORA") + 10));
//System.out.println("err String :" + stmtStr);
flag = false;
try
{
con.rollback();
}
catch (Exception ee)
{
ee.printStackTrace();
stmtStr = StringTool.removeNewline(ee.toString());
}
flag = false;
}
finally
{
try
{
con.setAutoCommit(true);
}
catch (SQLException e)
{
// TODO ???? catch ?
e.printStackTrace();
}
if (stmt != null)
{
try
{
stmt.close();
}
catch (SQLException e1)
{
// TODO ???? catch ?
e1.printStackTrace();
}
}
if (con != null)
{
try
{
con.close();
}
catch (SQLException e1)
{
// TODO ???? catch ?
e1.printStackTrace();
}
}
}
return flag;
}
ehai0991
2006-04-12
打赏
举报
回复
我也想学学 ,用存储过程怎么做呢?
guo__peng
2006-04-12
打赏
举报
回复
怎么可以用视图呢?
视图一次只可以更新一个表的数据的,建议用存储过程
liuzhijie0451
2006-04-12
打赏
举报
回复
用回滚语句就可以,只有所有的插入都正常才好使,要不一条也不插入。
feng1071
2006-04-12
打赏
举报
回复
使用及联插入
fashi1000
2006-04-11
打赏
举报
回复
建个视图
mysql同时
插入
两个
字段
_mysql 怎么给一个表一次增加
多个
字段
? ?
DIEAmysql为一个表增加
多个
字段
的语法为:ALTER TABLE 表名 ADDCOLUMN `
字段
名1` 数据类型(长度) [DEFAULTNULL],ADDCOLUMN `
字段
名2` 数据类型(长度) [DEFAULTNULL];其中,defaultnull为可选内容。举例,已知表admin...
MySQL怎么添加
字段
在指定列位置、怎么一次添加
多个
字段
?
怎么添加
字段
在指定列位置、怎么一次添加
多个
字段
?自定义目录标题MySQL语句实现添加
多个
字段
在指定列位置 MySQL语句实现添加
多个
字段
在指定列位置 在使用navicat15管理MySQL数据库时,发现选择某列点击添加
字段
...
达梦数据库merge into更新
多个
字段
,
插入
特定
字段
的使用
这个示例问题,就是只介绍了一个
字段
更新时的情况,还只介绍了全
字段
更新的情况,这种情况算是比较特殊了,想更新
多个
字段
,
插入
部分
字段
怎么写呢?查阅了一些资料,得到的结论是。有一点需要注意的,我用以下方式...
sql 向
表中
插入
新数据时,同时
插入
另一张
表中
某些
字段
的数据
sql 向
表中
插入
新数据时,同时
插入
另一张
表中
某些
字段
的数据 向
表中
插入
新数据时,同时
插入
另一张
表中
某些
字段
的数据 向一张
表中
插入
数据,一部分
字段
的数据为自定义,另一部分
字段
的数据来源于另一张表 INSERT INTO...
在ORACLE中给已有数据的表增加、修改、删除一个
字段
(或一个列)或者
多个
字段
(或
多个
列)的问题
一、将历史表的
字段
增加一个或者
多个
的SQL语句。 1、增加一个
字段
:(增加
字段
时,只能排在已有
字段
的后面,不能插到已有
字段
之间) Alter Table t_app_si_addr_12 Add CHG_ADDR_FLAG varchar2(2); Alter Table ...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章