ホームページ >データベース >navicat >navicat でストアド プロシージャを作成する方法

navicat でストアド プロシージャを作成する方法

angryTom
angryTomオリジナル
2019-08-05 11:33:4024514ブラウズ

navicat でストアド プロシージャを作成する方法

#navicat でストアド プロシージャを作成するにはどうすればよいですか?以下に、関連する操作の詳細を紹介します。

推奨チュートリアル: MySQL 紹介ビデオ

#1. Navicat Premium を使用して関数作成ウィザードを開き、操作 : 接続名 - データベース - 関数 - 新しい関数

navicat でストアド プロシージャを作成する方法

2. プロセスの選択 - ストアド プロシージャ パラメータの入力 - 完了 (このステップではパラメータを入力できません。プロシージャ コードを格納するときにパラメータを設定します)

navicat でストアド プロシージャを作成する方法

navicat でストアド プロシージャを作成する方法

3. 必要に応じてストアド プロシージャ コードの記述を完了します

 BEGIN 
    DECLARE t_error INTEGER DEFAULT 0;  
    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
# 保证数据一致性 开启事务 
    START TRANSACTION; 
# 获取需同步数据的时间节点(3个月前的第一天) 
# 即当前日期 2018-07-10  @upmonth 日期 2018-04-01 8
     SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH);
# 迁移数据语句
    SET @sqlstr=CONCAT(‘INSERT INTO fd_aseet_record_back_3_6 
    SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);
# 删除数据语句
    SET @delsqlstr=CONCAT(‘DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);
 #执行数据迁移
    PREPARE _fddatamt FROM @sqlstr;
    EXECUTE _fddatamt USING @upmonth;
    DEALLOCATE PREPARE _fddatamt;
#执行迁移后的数据删除
    PREPARE _fddatadel FROM @delsqlstr;
    EXECUTE _fddatadel USING @upmonth;
    DEALLOCATE PREPARE _fddatadel;
    IF t_error = 1 THEN  
       ROLLBACK;    #语句异常-回滚
    ELSE  
       COMMIT;    #提交事务
     END IF;  
   END

4保存 - ストアド プロシージャ名を入力 - OK

navicat でストアド プロシージャを作成する方法

## 5. ストアド プロシージャ名を選択 - 関数を実行 - 結果を表示

navicat でストアド プロシージャを作成する方法

navicat でストアド プロシージャを作成する方法

拡張情報

ストアド プロシージャ (ストアド プロシージャ) は、一連の SQL ステートメントです。特定の関数を完了します。関数はデータベースに保存され、コンパイル後は永続的に有効になります。ユーザーは、ストアド プロシージャの名前を指定し、パラメータを指定することによって関数を実行します (ストアド プロシージャにパラメータがある場合)。 ストアド プロシージャはデータベース内の重要なオブジェクトです。主に以下のカテゴリーに分かれます。

1 システム ストアド プロシージャ

# sp_ をはじめ、システムの各種設定、情報の取得、および関連する管理作業に使用されます。

2 ローカル ストアド プロシージャ

ユーザー作成ストアド プロシージャは、ユーザーによって作成され、特定の機能を完了するストアド プロシージャです。ストアド プロシージャとしての to は、ローカル ストアド プロシージャを指します。

3 一時ストアド プロシージャ

2 種類のストアド プロシージャに分かれています。

1 つは、シャープ記号が付いているローカルの一時ストアド プロシージャです。 (#) を名前の最初の文字として使用すると、ストアド プロシージャは tempdb データベースに保存されるローカルの一時ストアド プロシージャとなり、それを作成したユーザーのみが実行できます。

2 番目はグローバルです。一時ストアド プロシージャ (2 つ) シャープ記号 (##) で始まるストアド プロシージャは、tempdb データベースに保存されるグローバル一時ストアド プロシージャになります。グローバル一時ストアド プロシージャが作成されると、サーバーに接続しているすべてのユーザーがそれを実行できます。特定の権限は必要ありません。

4 リモート ストアド プロシージャ

SQL Server2005 では、リモート ストアド プロシージャ (リモート ストアド プロシージャ) は、リモート サーバー上にあるストアド プロシージャです。通常、分散クエリを使用でき、 EXECUTE コマンドを使用してリモート ストアド プロシージャを実行します。

5 拡張ストアド プロシージャ

拡張ストアド プロシージャは、ユーザーが外部プログラミング言語を使用して作成できるストアド プロシージャであり、拡張ストアド プロシージャの名前は通常 xp_begins で始まります。

以上がnavicat でストアド プロシージャを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。