oracle占位符怎么打,excle占位符

如何使用占位符向oracle數(shù)據(jù)庫中寫日期類型的數(shù)據(jù)

windows和Linux都能執(zhí)行

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、??诰W(wǎng)站維護(hù)、網(wǎng)站推廣。

Oracle Call Interface(OCI)使用戶可以訪問 Oracle 10,Oracle9,Oracle8 和 Oracle7 數(shù)據(jù)庫。支持將 PHP 變量與 Oracle 占位符(placeholder)綁定,具有完整的 LOB,F(xiàn)ILE 和 ROWID 支持,以及允許使用用戶提供的定義變量。

例子 1. 基本查詢

?php

$conn = oci_connect('hr', 'hr', 'orcl');

if (!$conn) {

$e = oci_error();

print htmlentities($e['message']);

exit;

}

$query = 'SELECT * FROM DEPARTMENTS';

$stid = oci_parse($conn, $query);

if (!$stid) {

$e = oci_error($conn);

print htmlentities($e['message']);

exit;

}

$r = oci_execute($stid, OCI_DEFAULT);

if(!$r) {

$e = oci_error($stid);

echo htmlentities($e['message']);

exit;

}

print 'table border="1"';

while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {

print 'tr';

foreach($row as $item) {

print 'td'.($item?htmlentities($item):'?').'/td';

}

print '/tr';

}

print '/table';

oci_close($conn);

?

例子 2. 用綁定變量插入

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('scott', 'tiger', 'orcl');

$query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

$stid = oci_parse($conn, $query);

$id = 60;

$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);

oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);

if($r)

print "One row inserted";

oci_close($conn);

?

例子 3. 將數(shù)據(jù)插入到 CLOB 列中

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('scott', 'tiger', 'orcl');

$mykey = 12343; // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)

VALUES (:mykey, EMPTY_CLOB())

RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);

$clob = oci_new_descriptor($conn, OCI_D_LOB);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);

oci_execute($stid, OCI_DEFAULT);

$clob-save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_execute($stid, OCI_DEFAULT);

print 'table border="1"';

while ($row = oci_fetch_array($stid, OCI_ASSOC)) {

$result = $row['MYCLOB']-load();

print 'trtd'.$result.'/td/tr';

}

print '/table';

?

可以很容易地訪問存儲(chǔ)過程,就和從命令行訪問一樣。 例子 4. 使用存儲(chǔ)過程

?php

// by webmaster at remoterealty dot com

$sth = oci_parse($dbh, "begin sp_newaddress( :address_id, '$firstname',

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

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

// This calls stored procedure sp_newaddress, with :address_id being an

// in/out variable and :error_code being an out variable.

// Then you do the binding:

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

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

oci_execute($sth);

?

連接處理

OCI8 擴(kuò)展提供了 3 個(gè)不同函數(shù)來連接 Oracle。取決于用戶來使用對(duì)自己的應(yīng)用程序最合適的函數(shù)。本節(jié)的信息有助于用戶作出合適的選擇。

連接到 Oracle 服務(wù)器從所需的時(shí)間上來講是個(gè)相當(dāng)花費(fèi)的操作。oci_pconnect() 函數(shù)使用了一個(gè)連接的持久緩沖區(qū),可以被不同的腳本請(qǐng)求重復(fù)使用。這意味著通常在每個(gè) PHP 進(jìn)程(或 Apache 子進(jìn)程)中只需要連接一次。

如果應(yīng)用程序連接 Oracle 時(shí)對(duì)每個(gè) web 用戶都使用了不同的認(rèn)證信息,則由 oci_pconnect() 使用的持久緩沖區(qū)就用處不大了,因?yàn)殡S著并發(fā)用戶的增加,到某個(gè)程度后會(huì)由于要保持太多的空閑連接而對(duì) Oracle 服務(wù)器的整體性能起到逆反的影響。如果應(yīng)用程序是這樣的架構(gòu),建議要么用 oci8.max_persistent 和 oci8.persistent_timeout 配置選項(xiàng)(此二者可以使用戶控制持久連接緩沖區(qū)的大小和生命周期)來協(xié)調(diào)應(yīng)用程序,要么用 oci_connect() 來連接。

oci_connect() 和 oci_pconnect() 都使用了一個(gè)連接緩沖區(qū)。如果在某個(gè)腳本中用同樣的參數(shù)多次調(diào)用 oci_connect(),則第二個(gè)和之后的調(diào)用會(huì)返回已有的連接句柄。oci_connect() 使用的連接緩沖區(qū)會(huì)在腳本執(zhí)行完畢后或者明確地關(guān)閉了連接句柄時(shí)被清空。oci_pconnect() 有相似的行為,不過其緩沖區(qū)獨(dú)立地維持著并在不同請(qǐng)求之間都存活著。

要記住此緩沖特性,因?yàn)樗箖蓚€(gè)句柄沒有在事務(wù)級(jí)隔離開來(事實(shí)上是同一個(gè)連接句柄,因此沒有任何方式的隔離)。如果應(yīng)用程序需要兩個(gè)獨(dú)立的,事務(wù)級(jí)隔離的連接,應(yīng)該使用 oci_new_connect()。

oci_new_connect() 總是創(chuàng)建一個(gè)到 Oracle 服務(wù)器的新連接,不管其它連接是否已經(jīng)存在。高流量的 web 應(yīng)用應(yīng)該避免使用 oci_new_connect(),尤其是在程序最忙的部分。

有關(guān)于它的其他函數(shù):

目錄

OCI-Collection-append -- 向 collection 增加單元

OCI-Collection-assign -- 從現(xiàn)有的另一個(gè) collection 向 collection 賦值

OCI-Collection-assignElem -- 給 collection 中的單元賦值

OCI-Collection-free -- 釋放關(guān)聯(lián)于 collection 的對(duì)象的資源

OCI-Collection-getElem -- 返回單元的值

OCI-Collection-max -- 返回 collection 中單元的最大數(shù)目

OCI-Collection-size -- 返回 collection 中的單元數(shù)目

OCI-Collection-trim -- 從 collection 尾端開始刪除單元

OCI-Lob-append -- Appends data from the large object to another large object

OCI-Lob-close -- 關(guān)閉 LOB 描述符

OCI-Lob-eof -- Tests for end-of-file on a large object's descriptor

OCI-Lob-erase -- Erases a specified portion of the internal LOB data

OCI-Lob-export -- 將 LOB 的內(nèi)容導(dǎo)出到文件中

OCI-Lob-flush -- Flushes/writes buffer of the LOB to the server

OCI-Lob-free -- 釋放與 LOB 描述符所關(guān)聯(lián)的資源

OCI-Lob-getBuffering -- Returns current state of buffering for the large object

OCI-Lob-import -- 將數(shù)據(jù)從文件導(dǎo)入 LOB

OCI-Lob-load -- 返回大對(duì)象的內(nèi)容

OCI-Lob-read -- Reads part of the large object

OCI-Lob-rewind -- Moves the internal pointer to the beginning of the large object

OCI-Lob-save -- 將數(shù)據(jù)保存到大對(duì)象中

OCI-Lob-seek -- Sets the internal pointer of the large object

OCI-Lob-setBuffering -- Changes current state of buffering for the large object

OCI-Lob-size -- Returns size of large object

OCI-Lob-tell -- Returns current position of internal pointer of large object

OCI-Lob-truncate -- Truncates large object

OCI-Lob-write -- Writes data to the large object

OCI-Lob-writeTemporary -- 寫入一個(gè)臨時(shí)的大對(duì)象

oci_bind_by_name -- 綁定一個(gè) PHP 變量到一個(gè) Oracle 位置標(biāo)志符

oci_cancel -- 取消從游標(biāo)讀取數(shù)據(jù)

oci_close -- 關(guān)閉 Oracle 連接

oci_commit -- 提交未執(zhí)行的事務(wù)處理

oci_connect -- 建立一個(gè)到 Oracle 服務(wù)器的連接

oci_define_by_name -- 在 SELECT 中使用 PHP 變量作為定義的步驟

oci_error -- 返回上一個(gè)錯(cuò)誤

oci_execute -- 執(zhí)行一條語句

oci_fetch_all -- 獲取結(jié)果數(shù)據(jù)的所有行到一個(gè)數(shù)組

oci_fetch_array -- Returns the next row from the result data as an associative or numeric array, or both

oci_fetch_assoc -- Returns the next row from the result data as an associative array

oci_fetch_object -- Returns the next row from the result data as an object

oci_fetch_row -- Returns the next row from the result data as a numeric array

oci_fetch -- Fetches the next row into result-buffer

oci_field_is_null -- 檢查字段是否為 NULL

oci_field_name -- 返回字段名

oci_field_precision -- 返回字段精度

oci_field_scale -- 返回字段范圍

oci_field_size -- 返回字段大小

oci_field_type_raw -- 返回字段的原始 Oracle 數(shù)據(jù)類型

oci_field_type -- 返回字段的數(shù)據(jù)類型

oci_free_statement -- 釋放關(guān)聯(lián)于語句或游標(biāo)的所有資源

oci_internal_debug -- 打開或關(guān)閉內(nèi)部調(diào)試輸出

oci_lob_copy -- Copies large object

oci_lob_is_equal -- Compares two LOB/FILE locators for equality

oci_new_collection -- 分配新的 collection 對(duì)象

oci_new_connect -- 建定一個(gè)到 Oracle 服務(wù)器的新連接

oci_new_cursor -- 分配并返回一個(gè)新的游標(biāo)(語句句柄)

oci_new_descriptor -- 初始化一個(gè)新的空 LOB 或 FILE 描述符

oci_num_fields -- 返回結(jié)果列的數(shù)目

oci_num_rows -- 返回語句執(zhí)行后受影響的行數(shù)

oci_parse -- 配置 Oracle 語句預(yù)備執(zhí)行

oci_password_change -- 修改 Oracle 用戶的密碼

oci_pconnect -- 使用一個(gè)持久連接連到 Oracle 數(shù)據(jù)庫

oci_result -- 返回所取得行中字段的值

oci_rollback -- 回滾未提交的事務(wù)

oci_server_version -- 返回服務(wù)器版本信息

oci_set_prefetch -- 設(shè)置預(yù)提取行數(shù)

oci_statement_type -- 返回 OCI 語句的類型

ocibindbyname -- oci_bind_by_name() 的別名

ocicancel -- oci_cancel() 的別名

ocicloselob -- OCI-Lob-close 的別名

ocicollappend -- OCI-Collection-append 的別名

ocicollassign -- OCI-Collection-assign 的別名

ocicollassignelem -- OCI-Collection-assignElem 的別名

ocicollgetelem -- OCI-Collection-getElem 的別名

ocicollmax -- OCI-Collection-max 的別名

ocicollsize -- OCI-Collection-size 的別名

ocicolltrim -- OCI-Collection-trim 的別名

ocicolumnisnull -- oci_field_is_null() 的別名

ocicolumnname -- oci_field_name() 的別名

ocicolumnprecision -- oci_field_precision() 的別名

ocicolumnscale -- oci_field_scale() 的別名

ocicolumnsize -- oci_field_size() 的別名

ocicolumntype -- oci_field_type() 的別名

ocicolumntyperaw -- oci_field_type_raw() 的別名

ocicommit -- oci_commit() 的別名

ocidefinebyname -- oci_define_by_name() 的別名

ocierror -- oci_error() 的別名

ociexecute -- oci_execute() 的別名

ocifetch -- oci_fetch() 的別名

ocifetchinto -- 獲取下一行到一個(gè)數(shù)組

ocifetchistatement -- oci_fetch_all() 的別名

ocifreecollection -- OCI-Collection-free 的別名

ocifreecursor -- oci_free_statement() 的別名

ocifreedesc -- OCI-Lob-free 的別名

ocifreestatement -- oci_free_statement() 的別名

ociinternaldebug -- oci_internal_debug() 的別名

ociloadlob -- OCI-Lob-load 的別名

ocilogoff -- oci_close() 的別名

ocilogon -- oci_connect() 的別名

ocinewcollection -- oci_new_collection() 的別名

ocinewcursor -- oci_new_cursor() 的別名

ocinewscriptor -- oci_new_descriptor() 的別名

ocinlogon -- oci_new_connect() 的別名

ocinumcols -- oci_num_fields() 的別名

ociparse -- oci_parse() 的別名

ociplogon -- oci_pconnect() 的別名

ociresult -- oci_result() 的別名

ocirollback -- oci_rollback() 別名

ocirowcount -- oci_num_rows() 的別名

ocisavelob -- OCI-Lob-save 的別名

ocisavelobfile -- OCI-Lob-import 的別名

ociserverversion -- oci_server_version() 的別名

ocisetprefetch -- oci_set_prefetch() 的別名

ocistatementtype -- oci_statement_type() 的別名

ociwritelobtofile -- OCI-Lob-export 的別名

ociwritetemporarylob -- OCI-Lob-writeTemporary 的別名

oracle中如何將漢字賦給占位符

string ins="insert into 表 values(:字段1,:字段2,:字段3,:字段4........)";

sqlserver和oracle所用占位符不一樣的

:是Oracle的binding variable的語法,在寫SQL和PL/SQL的時(shí)候經(jīng)常使用,但不代表不使用:就不用綁定變量或使用:就一定是綁定變量

數(shù)字占位符#怎么打出來

點(diǎn)擊軟鍵盤,選擇特殊符號(hào)即可,占位符的唯一有效值是一個(gè)數(shù)字。

Java 使用占位符操作數(shù)據(jù)庫,表是oracle分區(qū)表。windows里測(cè)試正常,linux報(bào)錯(cuò)。。

windows和Linux都能執(zhí)行

Oracle Call Interface(OCI)使用戶可以訪問 Oracle 10,Oracle9,Oracle8 和 Oracle7 數(shù)據(jù)庫。支持將 PHP 變量與 Oracle 占位符(placeholder)綁定,具有完整的 LOB,F(xiàn)ILE 和 ROWID 支持,以及允許使用用戶提供的定義變量。

例子 1. 基本查詢

?php

$conn = oci_connect('hr', 'hr', 'orcl');

if (!$conn) {

$e = oci_error();

print htmlentities($e['message']);

exit;

}

$query = 'SELECT * FROM DEPARTMENTS';

$stid = oci_parse($conn, $query);

if (!$stid) {

$e = oci_error($conn);

print htmlentities($e['message']);

exit;

}

$r = oci_execute($stid, OCI_DEFAULT);

if(!$r) {

$e = oci_error($stid);

echo htmlentities($e['message']);

exit;

}

print 'table border="1"';

while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {

print 'tr';

foreach($row as $item) {

print 'td'.($item?htmlentities($item):' ').'/td';

}

print '/tr';

}

print '/table';

oci_close($conn);

?

例子 2. 用綁定變量插入

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('scott', 'tiger', 'orcl');

$query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';

$stid = oci_parse($conn, $query);

$id = 60;

$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);

oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid);

if($r)

print "One row inserted";

oci_close($conn);

?

例子 3. 將數(shù)據(jù)插入到 CLOB 列中

?php

// Before running, create the table:

// CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('scott', 'tiger', 'orcl');

$mykey = 12343; // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)

VALUES (:mykey, EMPTY_CLOB())

RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);

$clob = oci_new_descriptor($conn, OCI_D_LOB);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);

oci_execute($stid, OCI_DEFAULT);

$clob-save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);

oci_bind_by_name($stid, ":mykey", $mykey, 5);

oci_execute($stid, OCI_DEFAULT);

print 'table border="1"';

while ($row = oci_fetch_array($stid, OCI_ASSOC)) {

$result = $row['MYCLOB']-load();

print 'trtd'.$result.'/td/tr';

}

print '/table';

?

網(wǎng)站標(biāo)題:oracle占位符怎么打,excle占位符
文章起源:http://www.muchs.cn/article12/hssjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作網(wǎng)站維護(hù)、網(wǎng)站制作品牌網(wǎng)站制作、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)