【のMysql]クロスデータベースのデータ同期

通常、ストアドプロシージャを書いていない、それはインターネットを検索するために時間を使用することが不可欠である、ちょうどストアドプロシージャを完了しました

役割は、大きく二つのデータベースで、テーブルはこのイベントで(今、ライブラリ内の別のテーブルに同期させる必要があるライブラリは、ストアドプロシージャを構築し、同様の構造を持っており、自動2時間を実行するために、ストアドプロシージャの背中を作る準備ができています)

 

開始
宣言B int型を、
ID1を宣言し、USER_NAME1、NAME1、パスワード1、salt1 VARCHAR(100)。
USERTYPE int型を宣言します。
数を宣言し、グレード1のint;
COUNT1 int型を宣言します。
用cur_1カーソル宣言
選択IDを、ユーザ名、 `NAME`、` password`、塩、 `status` = 1及び(USER_TYPE = 4またはUSER_TYPE = 5)sys_userからUSER_TYPE。
SET B = 0。
sys_userからカウントINTO SELECT COUNT(1)ここで`status` = 1。
カウント#select;
OPEN cur_1;
loop_label:ループは
ID1、USER_NAME1、NAME1、パスワード1、salt1、USERTYPE INTO cur_1をFETCH。

test1.sys_userからCOUNT1にSELECT COUNT(1)ここで、ユーザ名= USER_NAME1。
#selectのCOUNT1。
もしCOUNT1 = 0 THEN
THEN USERTYPE = 4の場合
test1.sys_user挿入(ID、ユーザ名、 `NAME`、` password`、塩、CREATE_DATE、USER_TYPE、relative_school_id、 `status`、アバター)
今VALUES(ID1、USER_NAME1、NAME1、パスワード1、salt1、()、3、 '0140bc57-de2b-44a8-8039-e475d180db8a'、1 '/filesystem/headImg/default.jpg')。
場合は終了。
USERTYPE = 5 THEN場合
t_student_infoからグレード1にtci.gradeを選択tsi.class_id = tci.idここtsi.user_id = ID1にTCI t_class_info参加しtsi.`status` = 1左TSI。
test1.sys_user挿入(ID、ユーザ名、 `NAME`、` password`、塩、CREATE_DATE、USER_TYPE、relative_school_id、 `status`、アバター)
今VALUES(ID1、USER_NAME1、NAME1、パスワード1、salt1、()、4、 '0140bc57-de2b-44a8-8039-e475d180db8a'、1 '/filesystem/headImg/default.jpg')。
test1.klss_studentのINSERT INTO(ID、USER_ID、grade_num、pass_count、challenge_count、homework_count、total_integral、 `level`、電話、badge_num、性別)
VALUES(UUID()、ID1、グレード1、0、0、0、0、。1、 ""、0、0);
END IF;
END IF;
#select USER_NAME1;

SET + B = B. 1;
COUNTのB IF =次いで
loop_labelを残す;
END IF;

エンドループ;
CLOSE cur_1と、
エンド
------- --------------
著者:Lionel_Medooの
ソース:CSDNの
元ます。https://blog.csdn.net/juan0728juan/article/details/58587745
著作権:この記事はブロガーオリジナル記事です、再現ボーエンのリンクを添付してください!

おすすめ

転載: www.cnblogs.com/HKROnline-SyncNavigator/p/10971493.html
おすすめ