プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • SQL
  • 【PL/SQL】「変数」や「固定値」の使い方
 
 
     
  • サーバー言語  
    • Ruby
    • Rails
    • PHP
    • Laravel
  • DB
    • Oracle
    • DB設計
    • SQL
    •  
    • 技術者試験
  •  
  • インフラ  
    • Linux
    • Git
    • Docker
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • TypeScript
  •  
  • 実装  
       
    • 設計
  • 問い合わせ
  

【PL/SQL】「変数」や「固定値」の使い方

05.20

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

PL/SQLでも「変数」や「固定値」を使うことができます。

変数を使うには、「宣言部」(DECLARE)で名前を付ける必要があります。

変数宣言の仕方

数値型

1
2
DECLARE
  num NUMBER;

数値型には、他にも「BINARY_INTEGER」や「BINARY_FLOAT」等色々ありますが、一般的にはNUMBER型が使用されるケースが一番多いです。

文字列型

1
2
DECLARE
  str VARCHAR2(5);

他にも、「CHAR」や「LONG」等も使うことができますが、おそらく一番使う機会の多いのは可変長文字列型である「VARCHAR2」でしょう。

日付型

主に下記二つの型が良く使われます。

データ型 説明
DATE 固定長の日時
TIMESTAMP 小数秒を含む日時

他には、「TRUE」や「FALSE」を含む「ブール型」なんかもあります。

なお、変数を宣言しただけでは、いずれのデータ型でも、まだ値はNULLの状態になります。

変数の命名規則

下記のルールがあります。

  • 変数名の1文字目は、数値(0~9)、アンダースコア(_)、シャープ(#)が使用できないが、2文字目以降なら使用できる。
  • 変数名の長さは30文字まで
  • 大文字、小文字は区別しない。
  • 予約語は使用できない。

予約語とは?

プログラム内で、キーワードとして既に使用されている語になります。

例えば、「DECLARE NUMBER;」なんて指定すると、「DECLARE」は宣言部として使われている単語なのでエラーになってしまいます。

変数への代入の仕方

数値の場合

普通に代入

1
2
3
4
5
DECLARE
  num NUMBER;
BEGIN
  num := 10;
END;

数値型から数値型へ代入

1
2
3
4
5
6
7
DECLARE
  num NUMBER;
  num2 NUMBER;
BEGIN
  num := 10;
  num2 := num * 2;
END;

文字型の場合

普通に代入

1
2
3
4
5
DECLARE
  str VARCHAR2(15);
BEGIN
  str := 'こんにちは';
END;

変数の宣言と値の代入を同時に行う。

例1:普通に初期値を入れる。

1
2
3
4
5
DECLARE
  str VARCHAR2(15) := 'こんにちは';
BEGIN
DBMS_OUTPUT.PUT_LINE(str);
END;

例2:DEFAULT句を使う。

1
2
3
4
5
DECLARE
  str VARCHAR2(15) DEFAULT 'こんにちは';
BEGIN
DBMS_OUTPUT.PUT_LINE(str);
END;

定数の宣言

1
2
3
4
5
DECLARE
  str CONSTANT VARCHAR2(15) DEFAULT 'こんにちは';
BEGIN
DBMS_OUTPUT.PUT_LINE(str);
END;

CONSTANT句を使います。

注意点としては、必ず定数は初期値として代入するようにしましょう。でなければ、エラーになってしまいます。

定数は直接書かれているプログラムに比べて、可読性や、保守性を上げてくれるので積極的に使うようにしましょう。

 

  • 2018 05.20
  • miyabisan2
  • コメントを書く
  • Oracle, PL/SQL, SQL
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.20

    【PL/SQL】プログラムの基本構文について

  2. 2018 05.20

    【PL/SQL】概要的な知識

  3. 2018 06.21

    【SQL】「サブクエリ(副問い合わせ)」について

  4. 2018 05.03

    【Oracle】実行計画作成後のSQL実行時の動作の仕組み(アクセスパス)

  5. 2018 06.22

    【SQL】「ウィンドウ関数」(OLAP関数)について

  6. 2018 06.22

    【Oracle】「データ型」の種類

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【PL/SQL】プログラムの基本構文について

【PL/SQL】条件分岐

RETURN TOP

アーカイブ

  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年6月
  • 2019年5月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

カテゴリー

  • .NET Framework
  • Ajax
  • Android
  • Apache
  • Auth0
  • AWS
  • Babel
  • Bitbucket
  • BootStrap
  • C#
  • C++
  • CGI
  • CSS
  • C言語
  • DBスペシャリスト
  • DevOps
  • Django
  • Docker
  • Eclipse
  • Git
  • GitLab
  • Heroku
  • HTML
  • HTML5
  • Java
  • JavaScript
  • Javaサーブレット
  • Jekins
  • jQuery
  • JSP
  • JSTL
  • JUnit
  • Kubernetes
  • Laravel
  • linux
  • Mac
  • Maven
  • MySQL
  • nginx
  • Node.js
  • Nuxt.js
  • Oracle
  • PHP
  • PL/SQL
  • PostgreSQL
  • PowerShell
  • PWA
  • Python
  • React
  • Redis
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Salesforce
  • SEO
  • Slack
  • Spring Boot
  • Spring Framework
  • Spring MVC
  • SQL
  • Struts
  • Struts2
  • Sublime Text
  • Swagger
  • Tomcat
  • TypeScript
  • UML
  • Unity
  • UX
  • VB.NET
  • Visual Basic
  • VSCode
  • Vue.js
  • webpack
  • Webサービス開発
  • XD
  • XML
  • インフラ
  • オブジェクト指向
  • クラウド
  • ゲームプランニング
  • ゲーム開発
  • サーバー
  • システム開発
  • スマホアプリ開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • バージョン管理システム
  • ハードウェア
  • プログラミング全般
  • マルチメディア
  • リファクタリング
  • 人間関係
  • 会計知識
  • 体調管理
  • 副業
  • 国際化
  • 応用情報
  • 情報処理技術者試験
  • 文字コード
  • 日常生活
  • 未分類
  • 要件定義
  • 設計
RETURN TOP

Copyright ©  プログラミングマガジン | Wordpress Thema | @