PHP调用Oracle的存储过程实现方法
2017-11-25 14:56
543 查看
存储过程很高端、大气、上档次,对于存储过程我一向的观点是支持使用,必竟我们追求数据存储的“速度和效率”,Oracle作为超专业级的数据库服务引擎,在效率上,如果一次需要做一系列SQL操作,则需要往返于PHP与ORACLE之间,不如把操作直接放到数据库,这样有效减少往返次数,增加效率。为了能让想了解存储过程的朋友便于理解,写了下面这个例子,先来看如何建立数据表和存储过程:
在PHP中调用,不多费话了,代码里都有注释的,聪明的你相信会看懂:
更多文章阅读=============================================================================================
微信h5神兽麒麟12牛牛房卡代理
h5微信12牛牛房卡代理
01 | //在Oracle中建立一个供测试的数据表 |
02 | CREATE TABLE TEST ( |
03 | ID NOT NULL , |
04 | NAME VARCHAR2(30) NOT NULL , |
05 | PRIMARY KEY (ID) |
06 | ); |
07 | //插入一条数据 |
08 | INSERT INTO TEST VALUES (5, 'PHP_BOOK' ); |
09 | //建立一个存储过程 |
10 | CREATE OR REPLACE PROCEDURE PROC_TEST ( |
11 | p_id IN OUT NUMBER, |
12 | p_name OUT VARCHAR2 |
13 | ) AS |
14 | BEGIN |
15 | SELECT NAME INTO p_name |
16 | FROM TEST |
17 | WHERE ID =5; |
18 | END PROC_TEST; |
01 | <?php |
02 | //建立数据库连接 |
03 | $user = "test" ; //数据库用户名 |
04 | $password = "test" ; //密码 |
05 | $conn_str = "tnsname" ; //连接串(cstr :Connection_STRing) |
06 | $remote = true //是否远程连接 |
07 | if ( $remote ) { |
08 | $conn = OCILogon( $user , $password , $conn_str ); |
09 | } |
10 | else { |
11 | $conn = OCILogon( $user , $password ); |
12 | } |
13 | //设置绑定 |
14 | $id = //准备绑定的php变量 id |
15 | $name = "" ; //准备绑定的php变量名 |
16 | /* 调用存储过程的sql语句(sql_sp:SQL_StoreProcedure) |
17 | * 语法: |
18 | * |
19 | * 加上冒号表示该参数是一个位置 |
20 | */ |
21 | $sql_sp = "BEGIN ; |
22 | $stmt = OCIParse( $conn , $sql_sp ); |
23 | //执行绑定 |
24 | OCIBindByName( $stmt , ":id" , $id , 16); //参数说明:绑定php变量$id到位置:id,并设定绑定长度16位 |
25 | OCIBindByName( $stmt , ":name" , $name , 30); |
26 | OCIExecute( $stmt ); |
27 | //结果 |
28 | echo "name ; |
29 | ?> |
相关文章推荐
- VC调用存储过程的通用方法(ORACLE篇)
- ibatis调用oracle的函数,存储过程的方法 IN 和OUT /游标
- PHP调用mysql存储过程和函数的方法
- php调用mysql存储过程和函数的方法
- php调用mysql存储过程和函数的方法
- 一个简单的oracle分页存储过程的实现和调用
- 一个简单的oracle分页存储过程的实现和调用
- VC调用存储过程的通用方法(ORACLE篇)
- 存储过程或自定义函数调用存储过程的变通实现方法
- 一个简单的oracle分页存储过程的实现和调用
- php调用mysql存储过程和函数的方法
- 一个简单的oracle分页存储过程的实现和调用
- oracle实现存储过程的分页并用java代码调用存储过程
- 存储过程或自定义函数调用存储过程的变通实现方法
- 我转载的文章《.NET中统一的存储过程调用方法 》具体实现代码
- VC调用存储过程的通用方法(ORACLE篇)
- 一个简单的oracle分页存储过程的实现和调用
- PHP调用MySQL的存储过程的实现代码
- Oracle分页存储过程及java的具体调用方法
- php调用mysql存储过程和函数的方法