MySQLのトリガ、カーソル

記事全体は、シニアmysqlは進んだ後、公開するように簡単に作られたナレッジ、プラスフォロワーとしてjavawebの枠組み継続し、個人的な学習体験である
:トリガ
、特別な保管プロセスと関連するテーブルを、あなたはその後、変更、削除、挿入することができます表中のトリガーデータ実行
の利点を:
セキュリティ、監査(あなたがデータにユーザ操作を追跡することができます)、複雑なデータ整合性規則を実装するには、スケジュールされたタスクを実行するための別の方法を提供します。
短所:
資源の消費、テーブルに頻繁に追加や削除は使用しません。
特徴:
各ラインの実行のために、テーブルに取り付けられたボディがある終わりを始める;
四つの要素:
モニタリングサイト:表
の挿入/更新/削除:イベントモニタリング
の前/後:トリガー時間を
トリガイベント:挿入/更新/削除の
トリガーを新しい、古いレコード:
MySQLは、フリップフロップ、フリップフロップは、データの行をトリガテーブルを示すために使用される、新旧を定義します。
新:何も変更、読み取り専用
割り当てはSETトリガで使用することができる:古い
タイプのフリップフロップINSERT:新しいのようになり、新たなデータを表したり挿入された
更新型フリップフロップを:新しい、新しいデータを表してはないだろうか、変更された、古いが表します元のデータ
削除型フリップフロップ:昔は、元のデータはなり表しまたは削除されました

-- 对表mytable创建触发器
create trigger mytg after insert--after,insert均为前边提到的四要素出发时间,监控事件,不了解的可以去上面看看
on mytable for each row
begin
		--此代码块填写相应触发的操作
end;


-- 删除名为mytg的触发器
drop trigger mytg;
-- 查看触发器基本信息
show triggers;
-- 查看触发器信息,触发器信息都存储在information_schema数据库下的triggers表中
select * from information_schema.triggers;

mysqlのカーソルは:
対応する動作を実行するために、トラバースによって返されたデータベースレコードを照会するために使用され
、パフォーマンス、お勧めできませんに影響を与えるオープンカーソルテーブルなどの上に更新データを行うことを避けるために、*メモリにデータを記録します*
機能:
読み取り専用、非再生可能な、非スクロール可能な、敏感な、
機密カーソル:
sensitiveカーソル:insensitiveカーソル速く実行よりも、データの一時コピーを必要としません。しかし、作られた他のデータ接続への変更は、データがsensitiveカーソルが使用されている更新されていない場合ので、それはより安全で、sensitiveカーソルで使用されるデータに影響を及ぼします。
insensitiveカーソル:データの一時的なコピーが使用され
、MySQLは四つの部分のカーソルを作成します。

-- 定义游标
declare 游标名 cursor for select sql语句
-- 打开游标
open 游标名
-- 获取结果,配合循环使用,循环遍历结果
fetch 游标名 into 变量名
-- 关闭游标
close 游标名

構文を使用したときにカーソルが使用されます。

-- 定义一个int类型的变量
declare flag int default 0;
-- 若没有数据返回了,程序继续并将变量flag的值改为1;
declare continue handler for not found set flag=1;
リリース元の4件の記事 ウォンの賞賛6 ビュー1898

おすすめ

転載: blog.csdn.net/weixin_46364022/article/details/104435542