UNIONクエリを使用して5つのテーブルのいずれかで電子メールアドレスを検索するMYSQLストアドプロシージャを作成する必要があります。電子メールアドレスが見つかると、ストアドプロシージャは元のテーブルのフィールドを更新し、その情報を別のテーブルに挿入する必要があります。ここで MySQL - ストアドプロシージャ - ユニオンが更新と挿入を選択します
は私の労働組合です:SELECT email, 'table1' AS nameoftable, status FROM table1
WHERE email = '[email protected]'
UNION
SELECT email, 'table2' AS nameoftable, status FROM table2
WHERE email = '[email protected]'
UNION
SELECT email, 'table3' AS nameoftable, status FROM table3
WHERE email = '[email protected]'
これは一つのレコードを返す必要があり、私が次のステップに必要なnameoftable変数を与える例: [email protected]
まずTABLE1挿入する: INSERT INTOブラックリスト(電子メール、tablename、追加)SELECT email、 'nameoftable'、FROM nameoftable where email = '[email protected]';
更新日: UPDATE nameoftable SET status = 'D' WHERE email = '[email protected]';
もちろん、レコードがない場合は、手順を終了する必要があります。
私はこのすべてを1つのストアドプロシージャにロールバックしようとしています。このストアドプロシージャは、要求に応じてさまざまなリストから電子メールを削除する電子メールプログラムで使用されます。今、私は手でそれをやっています、そして、それは面倒です。
私は指針やアイデアを感謝します。前もって感謝します。