宣言部と変数の定義 「%TYPE」「%ROWTYPE」:超入門「PL/SQL」(3)(3/3 ページ)
本連載は、「PL/SQL(Procedure Language/Structured Query Language)」を理解し、活用していくための実践講座です。今回は、「%TYPEおよび%ROWTYPE属性の変数を定義する記述方法」を解説します。
「定数」の使い方
PL/SQLブロックでデータを扱う場合、多くは「変数」を用います。しかし場合によっては「定数」を使う方が良いシーンもあります。
定数も変数と同じようにデータを保存しておく場所を定義するものです。しかしその名前の通り「定められた値」として、いったん格納された値は上書きできず、PL/SQLブロックの終了まで固定値を保持します。例えば「税率」など、プログラム内で常に同じ値を使い続けたい場合に適しています(図3)。
<定数名> CONSTANT <データ型> [ NOT NULL ] { := | DEFAULT } <初期値> ;
サンプルプログラムは以下の通りです。
DECLARE v_no_cons CONSTANT NUMBER(8) := 1; /* 定数v_no_consをNUMBER型で定義し、初期値「1」を代入 */ BEGIN NULL; /* 何もせずに次に制御を移す */ END; /
定数の記述では、定数名の後に「CONSTANTキーワード」を指定するのが変数定義時と異なります。また、定数の定義時には必ず代入演算子「:=」、または「DEFAULTキーワード」で初期値を指定する必要があります。前述したように、定数の定義後に値は代入できません。
今回は「%TYPEおよび%ROWTYPE属性の変数を定義する記述方法」の基礎を紹介しました。次回から、「定義した変数に値を代入する」「値を評価した上で処理を分岐する」など、実行部に記述する実際の処理内容の詳細を解説していきます。
筆者紹介
小笠原宏幸(おがさわら ひろゆき)
株式会社アシスト データベース技術本部所属。普段はOracle、PostgreSQL、JP1などの分野で研修講師を担当。また、書籍「SQL逆引き大全363の極意」(株式会社秀和システム)をはじめ、「これならわかるOracle超入門教室」(株式会社翔泳社)、「プロとしてのPL/SQL入門」(SBクリエイティブ株式会社)の共著も担当。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- DBエンジンを最大限に生かすバッチアプリの作り方
第1回では、バッチアプリケーションを設計するうえで考慮すべき4つのポイントについて解説しました。今回は、Oracleデータベースを最大限に利用したバッチアプリケーションの実装テクニックについて解説します。 - ODTを使ったVisual StudioからのPL/SQL開発
オラクル社が提供する3つの.NET環境用開発ツール「ODP.NET」「ODT」「ODE.NET」。Oracle 10gリリース2に対応した最新版を使って、Oracleデータベースを前提とした.NETアプリケーションの開発手法を解説する。(編集部) - 更新/挿入/削除のSQLを高速化する3つの技とは?
本連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基本とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) - 【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】