ホームページ > php教程 > php手册 > PHP を使用して Oracle ストアド プロシージャを呼び出す方法

PHP を使用して Oracle ストアド プロシージャを呼び出す方法

WBOY
リリース: 2016-06-13 12:27:16
オリジナル
997 人が閲覧しました

ただし、ストアド プロシージャを使用すると、速度と効率という 2 つの最も明らかな利点が少なくとも得られます。ストアド プロシージャを使用した方が明らかに高速です。効率の観点から、アプリケーションが一連の SQL 操作を一度に実行する必要がある場合は、PHP と Oracle の間を往復する必要があります。往復の回数を減らすために、アプリケーションをデータベースに直接配置する方が良いでしょう。そして効率を高めます。ただし、インターネット アプリケーションでは速度が非常に重要であるため、ストアド プロシージャを使用する必要があります。私も少し前に PHP を使用してストアド プロシージャを呼び出し、次の例を実行しました。
コード

コードをコピー コードは次のとおりです:


//テストテーブルを作成します
create table test (
id number(16) not null,
name varchar2(30) not null,
主キー (id)
); // データを挿入します
insert into test names ( 5, 'php_book');
//ストアド プロシージャを作成します
プロシージャを作成または置換します proc_test (
p_id in out number,
p_name out varchar2
) as
begin
Select name into p_name
from test
where id = 5;
end proc_test; コードは次のとおりです。 > //データベース接続を確立します
$user = "scott"; //データベースユーザー名

$password = "tiger"; //パスワード
$conn_str = "tnsname; "; //接続文字列 (cstr : connection_string)
$remote = true //リモート接続するかどうか

if ($remote) { $conn = ocilogon($user, $password, $conn_str) ; } else { $conn = ocilogon($user, $password);

}

// バインディング
$id = 5; be binding
$name = ""; // バインドする PHP 変数名
/**ストアド プロシージャを呼び出す SQL ステートメント (sql_sp: sql_storeprocedure)
* 構文:
* begin ストアド プロシージャ名 ([[:] パラメータ])
* コロンを追加すると、パラメータが位置
* */
$sql_sp = "begin proc_test(:id, :name); end;" ;
//parse
$stmt = ociparse($conn, $sql_sp);
//バインディングを実行
ocibindbyname($stmt, ":id", $id, 16);パラメータの説明: PHP 変数 $id をposition:id にバインドし、バインド長を 16 桁に設定します。
ocibindbyname( $stmt, ":name", $name, 30); // ociexecute($stmt);
//Result
echo "名前は : $name
";


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート