sql >> データベース >  >> RDS >> Mysql

MySQL(5.7)mysql.procを介してストアドプロシージャを削除します

    直接のdelete procsから テーブルは、現在のMySQLセッションではすぐには効果がないようです。

    フラッシュ ステートメントはMySQLで使用され、サーバーにデータをリロードさせます(更新/削除およびflush privilegesを介して特権を直接変更します) おそらく最良の例えです)。ただし、flushのバージョンが見つかりませんでした これは、ドキュメントに基づいてストアドプロシージャに影響を与えます。したがって、現在のMySQLセッションでストアドプロシージャの削除を最終的に行う方法はないと思います。

    直接削除アプローチの本当の危険は、MySQLの文書化されていない機能に依存していることです。この機能は、MySQLの将来のバージョンで予告なしに変更される可能性があり、アップグレードが不可能になります。また、MySQL自体を実際にデバッグしないと、アプローチに意図しない副作用があるかどうかを判断するのは非常に困難です。

    これらの理由から、本番コードでこのアプローチを使用することはお勧めしません。それが1回限りの運動である場合、あなたはそれで逃げることができます。




    1. ユニオンクエリを使用したドロップダウン

    2. プリペアドステートメントに配列を指定します

    3. Oracle-更新時に履歴行を作成するためのトリガー

    4. 値がデータベースに存在するかどうかをチェックするJava