BEAGLE-HC 医薬品、医療機器の研究・開発 ポータルサイト
 現在位置 : HOME > ITの活用 プログラミング > SQL > PL/SQL コードライブラリアン(記述の規則)
くすりのこと
 治療薬の最前線
データブック
 ヘルスケア市場
 データブック
 (売上ランキング)
ニュース
 企業ニュース
 (パイプラインニュース)
 (財務・決算ニュース)
 (M&Aニュース)
 メディアニュース
ITの活用
 バリデーション
 セキュリティ
 WORD文書の作成
 プログラミング
 (Word/VBA)
 (Excel/VBA)
 (Access/VBA)
 (SAS)
 (SQL)
イベント
 イベントカレンダ
製薬会社研究
 製薬会社
 製薬会社研究
 決算短信一覧
 
 
Word/VBA プログラミング Excel/VBA プログラミング Access/VBA プログラミング
SAS プログラミング SQL LiveCycle Designer
 
記述の規則 プログラム制御 関数 SQL文
ストアドプロセジャー ファイル操作 例外処理  
 
ブロック構造
Declare
 -- 宣言
Begin
 -- 代入文
 -- 制御構文
 -- SQL文
 -- カーソル文
Exception
 -- 例外処理
End;
 
小文字と大文字
SQLに記述する句、演算子は大文字、小文字を問いません。例えば、
  select * from T_テーブル名
  Select * From T_テーブル名
  SELETE * FROM T_テーブル名
は、全て同じ働きをします。
 
文字列
シングルクォーテーション1つ(引用符)で文字列を囲みます。
シングルクォーテーションをリテラルとして指定する場合は、シングルクォーテーションを重ねて記述します。、「''」でシングルクォーテーション1つ分になります。

  'HELLO WORLD'
 
注釈
  1行のコメント
  --   ハイフン(-)2つ

複数行のコメント
  /*    */   /*と */で囲む
 
変数
BINARY_INTEGER
NUMBER
PLS_INTEGER
CHAR
VARCHAR2
LONG
BOOLEAN
DATE

記述例
 min_salary NUMBER(10);
 job_title VARCHAR2(100);
 tanka NUMBER(5,2) := 1.05;        -- 値の代入
 start_date DATE := SYSDATE;


%type
  表のデータ型を複製します。

   st_job_id jobs.job_id%TYPE;

%rowtype
  表の構造の定義を複製します。
   rec_jobs jobs%ROWTYPE;


  カーソルの構造の定義を複製します。
   CURSOR cur IS SELECT * FROM jobs;
   rec_jobs cur%ROWTYPE;
 
変数の代入
変数と定数は、ブロックまたはサブプログラムに入るたびに初期化されます。デフォルトでは、変数はNULL に初期化されます。変数に値を代入する場合は、代入文を使用します。

  bonus := saraly * 2.25;

SQL 問合せ結果のPL/SQL 変数への代入
SELECT 文を使用しても変数に値を代入できます。選択リストの項目ごとに、対応する型互換の変数がINTO リストに存在している必要があります。

 Declare
  emp_name first_name%TYPE;
  wages NUMBER(7,2);
 Begin
  SELECT first_name, saraly INTO emp_name, wages FROM employee
       whwre employee_id = '1000';
  End;
 
演算子
:=  代入

+  加算
-  減算
*  乗算
/  除算
**  指数

||  連結
=>  結合
..  範囲

=  等しい
<  より小さい
>  より大きい
<=  以下
>=  以上
<>  等しくない
!=  等しくない
~=  等しくない
^=  不明

not
is null
like
bitween
in
and
or

<<  ラベル開始
>>  ラベル終了
 
サンプルプログラム
以下に示すのは、テニス・ラケットの注文を処理するプログラムです。このプログラムは、まずテニス・ラケットの在庫数を格納するNUMBER 型の変数を宣言しています。次に、inventory という名前のデータベース表から在庫数を取り出します。在庫数がゼロよりも多ければ、プログラムは表を更新し、purchase_record という名前の別の表に購入レコードを挿入します。在庫数がゼロ以下の場合は、表purchase_record に在庫切れレコードを挿入します。

-- available online in file 'examp1'
Declare
 qty_on_hand NUMBER(5);

Begin
 SELECT quantity INTO qty_on_hand FROM inventory
   WHERE product = 'TENNIS RACKET';
 IF qty_on_hand > 0 THEN                -- check quantity
   UPDATE inventory SET quantity = quantity - 1 WHERE product = 'TENNIS RACKET';
   INSERT INTO purchase_record VALUES ('Tennis racket purchased', sysdate);
 ELSE
   INSERT INTO purchase_record VALUES ('Out of tennis rackets', sysdate);
 END IF;
 COMMIT;
End;

                             Oracle PL/SQL ユーザーズ・ガイドおよびリファレンスより引用
 
プログラムの保存
プログラムの拡張子は"SQL"とします。プログラムは作業中のディレクトリーに置きます。

 Filename.sql

↑ このページの最初へ

   ご意見・ご感想をお寄せください。 ‖ お問い合わせはこちらから ‖ このサイトについて           サイトマップ  ‖
  Copyright 2006 - 2013 uTRAM Corp. All Rights Reserved
 
PHARCIS(ヘルスケア最新情報提供)
Facebook for PHARCIS
ClinMark8
アクセスランキング
(2013年5月)

1位 企業ニュース
2位 売上ランキング
3位 メディアニュース
4位 製薬会社
5位 治療薬の最前線
6位 決算短信一覧
7位 データブック
8位 製薬会社研究
9位 イベントカレンダ
10位 パイプラインニュース