在oracle中不用存储过程也可以一次执行多条SQL语句

来源:http://www.wyjava.com/html/2012/database_oracle_0206/29.html
假如我做完一个操作后,我要将某表的某条数据移到备份表中去,然后将这条数据从本表中删除。对于这种操作,那么一起成功,那么一起失败。一...
假如我做完一个操作后,我要将某表的某条数据移到备份表中去,然后将这条数据从本表中删除。对于这种操作,那么一起成功,那么一起失败。
一般对于这种情况我们会用存储过程实现。
存储过程确实可以。
但是在oracle中还有另外一种方法也可以实现。
在oracle中可以将多条SQL写在一起,以分号结束。
语法

begin
SQL语句1;
SQL语句2;
end;


实例
在JAVA程序中的实现

/**
* 备份彩信发送数据
*/
public void reservedMmsSubmitMmsc(MmsSubmitMmsc mmssubmitmmsc) {
// 备份彩发送数据语句
String strReserved = "begin insert into smscom.MMS_SUBMIT_MMSC_BAK values(?,?,?,?,?,?,?,?,?,?,?);delete smscom.MMS_SUBMIT_MMSC where id=?; end;";
Connection connection = null;
PreparedStatement ps = null;
try {
connection = ConnectionPool.getConnection();
ps = connection.prepareStatement(strReserved);
ps.setInt(1, mmssubmitmmsc.getId());
ps.setString(2, mmssubmitmmsc.getMsgId());
ps.setInt(3, mmssubmitmmsc.getChargedParty());
ps.setString(4, mmssubmitmmsc.getMobile());
ps.setString(5, mmssubmitmmsc.getFeeMobile());
ps.setString(6, mmssubmitmmsc.getServiceCode());
ps.setString(7, mmssubmitmmsc.getSenderAddresss());
ps.setString(8, mmssubmitmmsc.getLinkId());
ps.setDate(9, mmssubmitmmsc.getMmsMtTime());
ps.setString(10, mmssubmitmmsc.getDeliveryReport());
ps.setInt(11, mmssubmitmmsc.getMmsmmscmainattach().getId());
ps.setInt(12, mmssubmitmmsc.getId());
ps.execute();
} catch (SQLException sqle) {
Debug
.outInfo("[MMSCDataAccess],reservedMmsSubmitMmsc(),备份彩信发送信息失败 "
+ sqle);
} finally {
PublicFunction.closeConnection(connection, ps);
}
}


这个方法就实现了以上功能。一个操作实现了多个功能。 在其他语言操作方式差不多,只是连接语句等不能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
供应彩信二次开发接口,彩信开发平台,研发各种软件功能 彩信开发接口简介: 彩信二次开发接口(数据库版)定位于为传统软件企业、无线增值业务服务公司和其他任何需要彩信/短信服务的实体提供彩信二次开发接口服务。彩信开发接口系统提供基于数据库表的接口连接模式,这种方式可以跨越windows和Unix平台,同时可兼顾B/S和C/S应用,是一套全能的接口策略。利用本产品普通的开发人员可以在几个小时之内快速开发、测试并启用彩信/短信服务,是目前最快的彩信开发方式。 彩信开发接口工作流程: 本产品作为应用系统与彩信/短信服务的介,利用数据库表来交换数据,系统支持Access、SQL Server、Oracle、MYSQL和Sybase数据库,初次安装彩信系统,默认数据库为Access,数据库文件为安装目录下的 MMSServer.mdb,内有4张表,简单说明如下: 表名 文名 用途 MSG_Outbox 信息发送表 用户要发送的彩信/短信存储于该表 MSG_Sentbox 信息发送成功表 存储发送成功的信息 MSG_Failedbox 信息发送失败表 存储发送失败的信息 MSG_Inbox 信息接收表 存储接收到的彩信/短信 发送彩信/短信过程 1.应用系统向数据库的MSG_Outbox表填写要发送的手机号码和彩信数据 2.彩信系统系统定时扫描MSG_Outbox表,一旦发现有符合条件的数据,则读出并控制GPRS彩信设备连接GPRS网络将信息发出 3.彩信系统删除MSG_Outbox的相应数据 4.如发送成功,彩信系统将数据保存到MSG_Sentbox表 5.如发送失败,彩信系统将数据保存到MSG_Failedbox表 6.应用系统可通过读取MSG_Sentbox和MSG_Failedbox表的信息来判断彩信/短信发送是否成功 接收彩信过程 1.手机用户向GPRS彩信设备发送了一条彩信 2.彩信系统将收到的“彩信通知“保存到MSG_Inbox,并控制GPRS彩信设备连接GPRS网络,接收彩信 3.如成功接收彩信,彩信系统将接收的彩信以文件的形式保存到指定目录,并把文件名称更新到数据库的MSG_Inbox表 4.如接收彩信失败,彩信系统将更新MSG_Inbox表对应的下载状态字段,以后不再下载 5.应用系统可读取MSG_Inbox表的内容来操作成功接收的彩信 接收短信过程 1.手机用户向GPRS彩信设备发送了一条短信 2.彩信系统将收到的短信保存到MSG_Inbox 3.应用系统可读取MSG_Inbox表的内容来操作成功接收的短信 彩信开发接口支持的数据库包括:Access、SQL Server、Oracle、MYSQL和Sybase
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值