宣言部と変数の定義(その1):超入門「PL/SQL」(2)(3/3 ページ)
本連載は、「PL/SQL(Procedure Language/Structured Query Language)」を理解し、活用していくための実践講座です。今回は「PL/SQLブロックの宣言部と変数の定義」を解説します。
変数に定義できるデータ型
変数には、格納するデータの属性に応じて適切なデータ型を定義します。
PL/SQLのデータ型はSQLのデータ型と似ていますが、意味や格納できる最大サイズなどが異なります。ただし、前回の記事でも解説しましたが、Oracle Databaseがデータ型を暗黙的に変換してくれるため、表から取り出したデータをPL/SQLブロック内の変数に代入する時にデータ型の違いを意識する必要はほとんどありません。
変数の定義に使用される代表的なデータ型は以下の通りです。
属性 | データ型 | 役割 | 備考 |
---|---|---|---|
数値型 | NUMBER | 最大38桁の数値データを格納する | 小数点以下の位取りも行える。また値の範囲(最大サイズ)を指定しなかった場合は、最大38桁またはシステムがサポートしている最大値が適用される |
文字型 | CHAR | 固定長の文字データを格納する。「CHAR(n)」のnには格納できる最大サイズを指定する(最大値は32767バイト) | 最大サイズを指定しない場合、デフォルトは1バイト |
VARCHAR2 | 可変長の文字データを格納する。格納できる最大値は32767バイト | サイズ指定は省略できない | |
日付型 | DATE | 年、月、日、時、分、秒のデータを独自形式である7バイトの固定長で格納する | 紀元前4712年1月1日から西暦9999年12月31日までの日付を扱える |
ブール型 | BOOLEAN | 論理値であるTRUE、FALSE、NULLを扱うデータ型 | PL/SQL独自のデータ型のため、TRUEやFALSEをデータベース列に挿入したり、データベース列の値をBOOLEAN型の変数に格納することはできない |
上記の表にあるような、Oracle Databaseによって事前定義されているデータ型を「スカラー型」と呼びます。スカラー型で定義した変数は値を1つしか保持できません。
なお、スカラー型以外のデータ型には、値を複数保持できる「コンポジット型」、処理対象のデータを参照する「参照型」があります。これらについては次回以降で解説予定です。
今回は基本的な変数の定義方法を紹介しました。次回は、表から取り出したデータを格納する際に便利な変数の定義方法を解説します。
筆者紹介
小笠原宏幸(おがさわら ひろゆき)
株式会社アシスト データベース技術本部所属。普段は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対応版】