1、ビュー
1、ビューを作成します
作成 ビュー(フィールドエイリアス...)AS SELECT文を 例: 作成 ビュー(LN、FN)として 選択 last_nameの、FIRST_NAME からの学生を。
図2は、基礎となる表のビューを介してCRUD操作であってもよいです。
図2に示すように、ストアドプロシージャ
1、および複合文文の区切り文字
区切り区切り名は 作成します)(プロシージャ、関数名を 始めます 関数本体 エンド ;
DELIMITER#閉じ区切り
コール関数名
例:
delemiter $
(手順show_timesを作成します)
を開始する
'ローカル時間' SELECT CURRENT_TIMESTAMP ASを、
SELECT UTC_TIMESTAMP AS 'UTC時間';
エンド$
delemiterの
コールshow_times();#コール
図2に示すように、ストレージ機能とストアドプロシージャ
作成 機能の関数名(パラメータリスト)は
タイプのAを返します。 STMT 作成 手順ストアドプロシージャ名(パラメータリスト)
のstmt
機能の例:
$ delemiter 作成 機能のテスト(EMP_SALARY INT ) リターンを INT SQLデータ読み出し BEGIN RETURN(選択 数(*)から EMP どこ給与> 5000と給与= EMP_SALARYを)。 ENDの$ delemiter;
機能だけで一つの値を返すことができますが、複数の値が複数の機能に書き込むことができ返すためには、複数回呼び出さまたはストアドプロシージャを使用して。
ストアドプロシージャの例:
$ delemiter CREATE PROCEDUREの show_born_in_year(p_year INTを) BEGIN SELECT FIRST_NAME、LAST_NAME、誕生、死 から社長 YEAR(誕生)= p_year ENDの$を delemiter;
プロセスは、式で使用することはできませんとだけ通話に呼び出し文を使用することができます。
ストアドプロシージャのパラメータ型の三種類:、アウト、INOUTでは、デフォルトではです:
3、フリップフロップ
トリガーは、テーブルがDELETE、INSERT、UPDATE文を実行したときに自動的にアクティブに定義される特定のテーブルに関連付けられているストアドプロシージャです。トリガーは、テーブルに属しています
構文:
作成 トリガTRIGGER_NAME番号のトリガー名を [ 前|後] #トリガー [ INSERTは|削除|更新] #は、トリガー文をアクティブに ON table_nameのの#関連するテーブル FOR EACH ROW番号のtrigger_stmtコンテンツ
例:
登録 テーブル T(パーセント INT、DT DATETIMEを) 区切り文字$ 作成 トリガ BEFORE bi_tをINSERT ONのトン FOR EACH ROW BEGIN IF NEWを。パーセント < 0 その後、 SET NEW。パーセント= 0 。 ELSEIF NEW。パーセント > 100 その後、 SET NEW。パーセント= 100 。 END IF ; エンド $ NEW.dt = CURRENT_TIMESTAMP ; エンド$ デリミタ;