明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Oracle 8 的函數(shù)介紹

[摘要]這些函數(shù)允許你存取 Oracle8 和 Oracle7 數(shù)據(jù)庫. 他使用 Oracle8 的點(diǎn)用接口 (OCI8). 使用這個(gè)擴(kuò)展模塊,你需要 Oracle8 客戶端庫文件. 這個(gè)擴(kuò)展模塊...

   這些函數(shù)允許你存取 Oracle8 和 Oracle7 數(shù)據(jù)庫. 他使用 Oracle8 的點(diǎn)用接口 (OCI8). 使用這個(gè)擴(kuò)展模塊,你需要 Oracle8 客戶端庫文件. 

   這個(gè)擴(kuò)展模塊比標(biāo)準(zhǔn) Oracle 模塊更流暢。他支持用于 Oracle 站位符的全局和本機(jī) PHP 變量。有完整的 LOB, 文件和 ROWID 支持,允許使用用戶提供的定義的變量. 

   在使用這個(gè)擴(kuò)展之前,確認(rèn)你已經(jīng)正確的安裝了 oracle 用戶需要的 Oracle 環(huán)境變量, 和用于 daemon 用戶的一樣. 需要設(shè)置的變量大致為如下幾個(gè): 

ORACLE_HOME 

ORACLE_SID 

LD_PRELOA

LD_LIBRARY_PATH 

NLS_LANG 

ORA_NLS33 


   在設(shè)置了你的 web 服務(wù)器用戶的環(huán)境變量之后,確認(rèn)在你的 oracle 組里面加入了 web服務(wù)器用戶 (nobody, www). 

   例 1. 

<?php 
// 作者 sergo@bacup.ru 

// 使用參數(shù)配置: OCI_DEFAULT 執(zhí)行命令來延遲執(zhí)行 
OCIExecute($stmt, OCI_DEFAULT); 

// 得到數(shù)據(jù): 

$result = OCIResult($stmt, $n); 
if (is_object ($result)) $result = $result->load(); 

// 進(jìn)行插入或者更新操作: 

$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"); 

?> 


   你可以用同樣簡單的方法存儲(chǔ)程序命令行. 

   例 2. 用于存儲(chǔ)進(jìn)程(程序) 

<?php 
// 作者 webmaster@remoterealty.com 
$sth = OCIParse ( $dbh, "begin sp_newaddress( :address_id, ’$firstname’, 
’$lastname’, ’$company’, ’$address1’, ’$address2’, ’$city’, ’$state’, 
’$postalcode’, ’$country’, :error_code );end;" ); 

// 這個(gè)調(diào)用用于存儲(chǔ)進(jìn)程 sp_newaddress, 使用 :address_id 開始一個(gè) 
// in/out 變量和 :error_code 用于輸出變量. 
// 這樣實(shí)現(xiàn)捆綁: 

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

?> 


   函數(shù)列表 
OCIDefineByName — 在一個(gè) SELECT 過程中定義步驟里使用 PHP 變量 
OCIBindByName — 為一個(gè) Oracle 站位符捆綁一個(gè) PHP 變量 
OCILogon — 建立一個(gè)與 Oracle 的連接 
OCIPLogon — 連接一個(gè) Oracle 數(shù)據(jù)庫同時(shí)使用存在的連接登陸,返回一個(gè)新的 session. 
OCINLogon — 連接一個(gè) Oracle 數(shù)據(jù)庫同時(shí)使用新的連接登陸,返回一個(gè)新的 session. 
OCILogOff — 斷開與 Oracle 的連接 
OCIExecute — 執(zhí)行一個(gè)語句 
OCICommit — 提交 outstanding transactions 
OCIRollback — 回退 outstanding transactions 
OCINewDescriptor — 初始化一個(gè)新的空的描述符 LOB/FILE (LOB 是默認(rèn)值) 
OCIRowCount — 獲得返回的行數(shù) 
OCINumCols — 返回一個(gè)語句結(jié)果的列數(shù) 
OCIResult — 返回返回行的列數(shù) 
OCIFetch — 在結(jié)果緩沖區(qū)里取得下一行 
OCIFetchInto — 在結(jié)果數(shù)組里取得下一行 
OCIFetchStatement — 以數(shù)據(jù)形式返回結(jié)果數(shù)據(jù)的所有行. 
OCIColumnIsNULL — 測試結(jié)果的某列是否為空 NULL 
OCIColumnSize — 返回結(jié)果列的大小 
OCIServerVersion — 返回包含服務(wù)器信息的字符串. 
OCIStatementType — 返回一個(gè) OCI 語句的類型. 
OCINewCursor — 返回一個(gè)新的光標(biāo) (語句句柄) - 用于捆綁 ref-cursors! 
OCIFreeStatement — 釋放與某語句相關(guān)的所有資源. 
OCIFreeCursor — 釋放與某光標(biāo)相關(guān)的所有資源. 
OCIFreeDesc — 刪除一個(gè)大型的物體描述符. 
OCIColumnName — 返回列的名字. 
OCIColumnType — 返回列的類型. 
OCIParse — 解析一個(gè)查詢返回一個(gè)語句 
OCIError — 返回最后一個(gè) stmt conn global 錯(cuò)誤. 如果沒有錯(cuò)誤發(fā)生則返回 false. 
OCIInternalDebug — 打開或關(guān)閉內(nèi)部調(diào)試輸出. 缺省時(shí)關(guān)閉  

關(guān)鍵詞標(biāo)簽:介紹,函數(shù),一個(gè),返回,

學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。