PHP 调用oracle存储过程
2016-04-22 11:11
549 查看
$orderdate = strtotime($this->input->get('orderdate')); $today = strtotime(date('Y-m-d',time())); $num = ceil(($orderdate - $today)/86400); $conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=host)(PORT = 1521))(CONNECT_DATA =(SID=sid)))"); $sql = 'BEGIN PROC_CREATEORDERDETAIL(:INPUTNUM); END;'; $stmt = oci_parse($conn,$sql); //编译 oci_bind_by_name($stmt,':INPUTNUM',$num,32); //参数绑定 if(oci_execute($stmt)){ echo "<script>window.alert(\"已重新生成当日订单明细\"),location.href=\"http://bi.xiaoyou-game.com/order/lists\";</script>";
存储过程:
create or replace PROCEDURE PROC_CREATEORDERDETAIL(INPUTNUM IN NUMBER) AS V_AMOUNT_REMAIN NUMBER; BEGIN DELETE FROM TBL_NEW_PLAN_HOUR T WHERE SUBSTR(T.PLAN_HOUR,0,10)=TO_CHAR(SYSDATE+INPUTNUM,'YYYY-MM-DD'); INSERT INTO TBL_NEW_PLAN_HOUR(ORDERID,DIM_HOUR,HOUR_AMOUNT,PLAN_HOUR,FINISHED_AMOUNT,SCRIPTPACKAGE) SELECT OL.ORDERID, T.DIM_HOUR, ROUND(OL.ORDERAMOUNT*T.RADIO/100) AS HOUR_AMOUNT, TO_CHAR(TO_DATE(OL.ORDERDATE,'YYYY-MM-DD HH24:MI:SS')+T.DIM_HOUR/24,'YYYY-MM-DD HH24:MI:SS') AS PLAN_HOUR, 0 AS FINISHED_AMOUNT, ol.SCRIPTPACKAGE FROM TBL_NEW_RADIO T,ORDERLIST OL WHERE OL.ORDERDATE=TO_CHAR(SYSDATE+INPUTNUM,'YYYY-MM-DD'); COMMIT; END;
相关文章推荐
- Oracle创建用户、表(1)
- Oracle创建用户、表(1)
- C#中oracleClient操作空间数据库报“遇到不支持的 Oracle 数据类型 USERDEFINED”
- oracle 操作记录
- 关于Oracle函数wm_concat的一些问题
- mybatis批量插入oracle解决方法
- 解决 Maven oracle驱动无法下载到的问题
- Oracle中注释多行有快捷键吗,是什么?
- Oracle flashback table简介
- ORACLE创建表空间和用户
- ssh连接Linux导出oracle数据
- Oracle SQL日期比较和常用日期函数
- Oracle数据库存储过程使用中一些注意事项
- Oracle 修改表结构
- ThinkPHP连接Oracle数据库
- ThinkPHP连接Oracle数据库
- Oracle安装问题: 输入的ADMIN 口令不符合Oracle建议的标准
- Oracle11g修改SGA和PGA ORA-00845
- Oracle-SQL05
- 数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库