Mysqlストアド・プロシージャの詳細チュートリアル

4760 ワード

Mysqlストアド・プロシージャの詳細チュートリアル
         ,    !		

ブログの内容を簡素化し、できるだけ業界用語で共有します.自分を認めてくれる読者一人一人に責任を負うように努力します.人を助けると同時に自分のチャンスを豊かにする.
目次
  • Mysqlストアド・プロシージャ詳細チュートリアル
  • 一、定義
  • 二、ストレージプロセスの特徴
  • 三、簡単なストレージプロセス
  • を作成する
  • ストアドプロシージャ構文
  • を作成する
  • ストレージ・プロシージャの作成
  • は、ストレージ・プロシージャ
  • を呼び出す.
  • 四、記憶プロセスの変数
  • 五、ストレージプロセスパラメータ
  • 1、基本文法
  •            oracle  ,    mqsql  ,        ,     。
    

    一、定義
    ストアド・プロシージャ(Stored Procedure)は、大規模なデータベース・システムにおいて、特定の機能を達成するためのSQL文セットのセットであり、データベースに格納されます.最初のコンパイル後に呼び出されると、再コンパイルする必要はありません.ユーザーは、ストアド・プロシージャの名前を指定し、パラメータ(たとえば、ストアド・プロシージャにパラメータがある)を与えることで実行します.ストレージ・プロシージャは、データベース内の重要なオブジェクトです.
    二、ストレージプロセスの特徴
    1、            
    2、     ,  
    3、SQL          
    4、          
    5、           ,        
    

    三、簡単なストレージプロセスを作成する
    ストアド・プロシージャ構文の作成
    create procedure   ()
    begin
    .........
    end  
    

    ストアド・プロシージャの作成
    create procedure MyDemo1()
    begin
       select * from user_info;
    end;  
    

    ストアド・プロシージャの呼び出し
    call MyDemo1();   
    

    四、ストレージプロセスの変数
    create procedure MyDemo2()
    begin
      --    declare        
      declare username varchar(32) default '';
      --   set       
      set username='ex_sunqi';
      --     
      select username;
    end;
    
  • 変数の宣言はdeclareを使用し、1つのdeclareは1つの変数だけを宣言し、変数は先に宣言してから使用しなければならない.
  • 変数にはデータ型と長さがあり、varcharはmysqlのSQLデータ型と一致する長さを指定する必要があります.
  • 変数はsetによって値を付与してもよいし、select intoによって値を付与してもよい.
  • 変数を返す必要があります.select文(select変数名など)を使用します.
  • 記憶中に変数は役割ドメインであり、役割範囲はbeginとendブロックの間であり、end終了変数の役割範囲は終了する.
  • は、グローバル変数、すなわち、すべてのコードブロックの前に置く
  • を使用することができる複数のブロック間の値伝達を必要とする.
    五、ストレージプロセスパラメータ
    1、基本文法
    create procedure   ([IN|OUT|INOUT]            )
    begin
    .........
    end
    
  • 入力パラメータ:タイプはinであり、このパラメータの値が呼び出しストレージ・プロシージャで指定される必要があることを示し、inとして指定されていない場合、デフォルトはinタイプである.
  • INタイプパラメータは一般に入力にのみ使用され、呼び出し中には
  • は変更として返されない.
  • コールストレージ中に値の変更と返却が必要な場合は、OUTタイプパラメータ
  • を使用します.
  • INOUTは、入力も出力も可能なパラメータ
  • を示す.
    create procedure MyDemo3(userId int)
     begin
          declare username varchar(32) default '';
          select name into username from users where id=userId;
          select username;
     end;