这些函数允许你存取 oracle8 和 Oracle7 数据库. 他使用 Oracle8 的点用接口 (OCI8). 使用这个扩展模块,你需要 Oracle8 客户端库文件.

这个扩展模块比标准 Oracle 模块更流畅。他支持用于 Oracle 站位符的全局和本机 PHP 变量。有完整的 LOB, 文件和 ROWID 支持,允许使用用户提供的定义的变量.

在使用这个扩展之前,确认你已经正确的安装了 oracle 用户需要的 Oracle 环境变量, 和用于 daemon 用户的一样. 需要设置的变量大致为如下几个:

ORACLE_HOME

ORACLE_SID

LD_PRELOAD

LD_LIBRARY_PATH

NLS_LANG

ORA_NLS33

在设置了你的 web 服务器用户的环境变量之后,确认在你的 oracle 组里面加入了 web服务器用户 (nobody, www).

例 1.

// 作者 sergo@bacup.ru

// 使用参数配置: OCI_DEFAULT 执行命令来延迟执行

OCIExecute($stmt, OCI_DEFAULT);

// 得到数据:

$result = OCIResult($stmt, $n);

if (is_object ($result)) $result = $result->load();

// 进行插入或者更新操作:

$sql = "insert into table (field1, field2) values (field1 = ’value’,

field2 = empty_clob()) returning field2 into :field2";

OCIParse($conn, $sql);

$clob = OCINewDescriptor($conn, OCI_D_LOB);

OCIBindByName ($stmt, ":field2", &$clob, -1, OCI_B_CLOB);

OCIExecute($stmt, OCI_DEFAULT);

$clob->save ("some text");

?>

你可以用同样简单的方法存储程序命令行.

例 2. 用于存储进程(程序)

// 作者 webmaster@remoterealty.com

$sth = OCIParse ( $dbh, "begin sp_newaddress( :address_id, ’$firstname’,

’$lastname’, ’$company’, ’$address1’, ’$address2’, ’$city’, ’$state’,

’$postalcode’, ’$country’, :error_code );end;" );

// 这个调用用于存储进程 sp_newaddress, 使用 :address_id 开始一个

// in/out 变量和 :error_code 用于输出变量.

// 这样实现捆绑:

OCIBindByName ( $sth, ":address_id", $addr_id, 10 );

OCIBindByName ( $sth, ":error_code", $errorcode, 10 );

OCIExecute ( $sth );

?>

函数列表

OCIDefineByName ― 在一个 SELECT 过程中定义步骤里使用 PHP 变量

OCIBindByName ― 为一个 Oracle 站位符捆绑一个 PHP 变量

OCILogon ― 建立一个与 Oracle 的连接

OCIPLogon ― 连接一个 Oracle 数据库同时使用存在的连接登陆,返回一个新的 session.

OCINLogon ― 连接一个 Oracle 数据库同时使用新的连接登陆,返回一个新的 session.

OCILogOff ― 断开与 Oracle 的连接

OCIExecute ― 执行一个语句

OCICommit ― 提交 outstanding transactions

OCIRollback ― 回退 outstanding transactions

OCINewDescriptor ― 初始化一个新的空的描述符 LOB/FILE (LOB 是默认值)

OCIRowCount ― 获得返回的行数

OCINumCols ― 返回一个语句结果的列数

OCIResult ― 返回返回行的列数

OCIFetch ― 在结果缓冲区里取得下一行

OCIFetchInto ― 在结果数组里取得下一行

OCIFetchStatement ― 以数据形式返回结果数据的所有行.

OCIColumnIsNULL ― 测试结果的某列是否为空 NULL

OCIColumnSize ― 返回结果列的大小

OCIServerVersion ― 返回包含服务器信息的字符串.

OCIStatementType ― 返回一个 OCI 语句的类型.

OCINewCursor ― 返回一个新的光标 (语句句柄) - 用于捆绑 ref-cursors!

OCIFreeStatement ― 释放与某语句相关的所有资源.

OCIFreeCursor ― 释放与某光标相关的所有资源.

OCIFreeDesc ― 删除一个大型的物体描述符.

OCIColumnName ― 返回列的名字.

OCIColumnType ― 返回列的类型.

OCIParse ― 解析一个查询返回一个语句

OCIError ― 返回最后一个 stmt|conn|global 错误. 如果没有错误发生则返回 false.

OCIInternalDebug ― 打开或关闭内部调试输出. 缺省时关闭

欢迎大家阅读《Oracle 8 的函数介绍_oracle》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

code函数oracle列子,Oracle 8 的函数介绍_oracle相关推荐

  1. code函数oracle列子,Oracle内置函数SQLCODE和SQLERRM的使用

    Oracle内置函数SQLCODE和SQLERRM的使用 Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息. OTHERS ...

  2. code函数oracle列子,Oracle Pivot函数语法详解及应用实例

    遇到一个难题,须要将单列数据根据分列显示,须要用到Pivot语法.html 参照现有的query,写了一段相似如下script片断的sql语句,问题搞定.经验总结:能用SQL搞定的问题,就不要人工去处 ...

  3. oracle 自增数,ORACLE自增函数,一般函数

    1.UNIX时间与普通时间互相转换 1.ORACLE先创建函数方法,再直接使用,MySQL直接使用方法UNIX_TIMESTAMP,FROM_UNIXTIME oracle_to_unix(creat ...

  4. oracle in函数的使用,oracle in 函数

    IN操作符 select * from scott.emp where empno=7369 or empno=7566 or empno=7788 or empno=9999: select * f ...

  5. oracle字符串提取函数,oracle字符串分割和提取函数定义

    oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...

  6. .Net程序员学用Oracle系列(10):系统函数(中)

    1.四大转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.两大近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 3.1.正则函 ...

  7. 编程开发之--Oracle数据库--存储过程和存储函数(2)

    上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Ja ...

  8. oracle和MySQL的日期函数_mysql与oracle的日期/时间函数小结

    前言 本文的日期/时间全部格式化为"2016-01-01 01:01:01"形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时 ...

  9. Oracle数据库之多行函数

    oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

最新文章

  1. 客快物流大数据项目(二十五):初始化业务数据
  2. the art of java 源代码_请不要再说Java中final方法比非final性能更好了
  3. [LGP4859,...] 一类奇怪的容斥套DP
  4. maven项目project facets中是2.3调整为3.0的解决办法
  5. AndroidWear开发之HelloWorld篇
  6. Web API应用架构设计分析(2)
  7. 回忆自己的大学四年得与失
  8. Vue学习(slot、axios)-学习笔记
  9. Spark技术内幕: Task向Executor提交的源代码解析
  10. python lib库_python_lib基础库
  11. [转]Log4Net五步走
  12. oracle建表 和 设置主键自增
  13. 提高mysql数据库速度方法(转)
  14. FreeTextBox3.1.6使用说明(整理)
  15. android 标签分页,Android之ActivityGroup实现Tab分页标签
  16. 国产CI520 13.56MHz非接触式读写器NFC读卡芯片替代CV520
  17. 定量风险分析技术__蒙特卡罗分析
  18. svn 统计代码行数
  19. E.03.10 Coffee Drinking Tied to Lower Risk of Heart Failure
  20. 极验点选验证码位置识别(一):点选验证码位置识别技术总览

热门文章

  1. 【动态规划】套汇问题(Floyd算法)
  2. 实例004计算正方形的周长
  3. Activiti Study
  4. 安卓背景音乐开关_微信7.0.4内测版怎么申请?微信7.0.4安卓内测版下载安装教程...
  5. 国内外电容电感品牌厂商
  6. systemverilog-static和automatic
  7. APG优化非负矩阵分解(NeNMF)
  8. linux top 指定pid,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  9. 排序算法:基数排序与计数排序
  10. Spark概述、Spark特点