宣言部と変数の定義(その1):超入門「PL/SQL」(2)(2/3 ページ)
本連載は、「PL/SQL(Procedure Language/Structured Query Language)」を理解し、活用していくための実践講座です。今回は「PL/SQLブロックの宣言部と変数の定義」を解説します。
変数に代入されている値を表示する
PL/SQLを使用したアプリケーション開発を行う際、意図した処理が行われているかどうかを確認する(=デバッグする)ために、変数に代入されている値を表示したい場合があります。このような時に利用できるのが「DBMS_OUTPUT.PUT_LINE」です。この機能を使うと、指定した対象を「SQL*Plus」(SQLを実行するためのユーティリティーツール)の画面に表示できます。なお、事前にSQL*Plusの環境変数「SERVEROUTPUT」を「ON」にしておいてください。この設定はログアウトするまで有効となります。
書式は以下の通りです。
DBMS_OUTPUT.PUT_LINE(<対象>) ;
set serveroutput on DECLARE v_no NUMBER(8) := 1; /* 変数v_noをNUMBER型で定義し、初期値1を代入 */ BEGIN DBMS_OUTPUT.PUT_LINE(v_no); /* 現在変数v_noに代入されている値を表示 */ v_no := 2; /* 変数v_noに値2を代入 */ DBMS_OUTPUT.PUT_LINE(v_no); /* 現在変数v_noに代入されている値を表示 */ END; / 1 2
この例では、実行部の各地点で変数「v_no」に代入されている値を、「DBMS_OUTPUT.PUT_LINE」によって画面上に表示しています。
DBMS_OUTPUT.PUT_LINEはPL/SQLブロックのデバッグなどでよく使用します。この段階でしっかり習得しておいてください。
変数名の命名規則
宣言部では、変数をはじめ、PL/SQLブロック内で使うオブジェクトに名前を定義します。名前は以下の規則内で設定します。
- 名前の長さは最大30バイト
- 1文字目は英字のみ、2文字目以降は数字や記号も使用できる(※ただし、「-」(ハイフン)、「/」(スラッシュ)、「&」(アンパサンド)、空白などは使用できない)
- Oracleの予約語(SELECTなど、既に使用されているキーワードのこと)は指定できない
- 大文字と小文字は区別されない
名前の有効範囲
宣言部で定義した変数などを、PL/SQLブロック内の各地点で参照したい場合があります。名前を参照できる範囲は、「宣言されたブロック内(ネストされたサブブロックを含む)」となります(図2)。
図2の例では、変数「v_no」が「ブロック1」で宣言されています。このため、ブロック1と、そのサブブロックであるブロック2で参照できます。
一方、エラーが発生してしまう例は以下の通りです(図3)。
図3では、「ブロック2」で宣言されている変数「v_no」を、その外側のブロック1で参照しようとしています。この場合は、名前の有効範囲を超えているためにエラーが発生します。
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対応版】