MySQL的两种触发器:
after 触发器: 对表操作之后触发,定义操作执行之后触发
instead of 触发器: 不执行本身定义的操作,而执行触发器本身里面定义的内容
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 FOR/AFTER INSERT AS T-SQL语句 [GO]
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 FOR/AFTER UPDATE AS T-SQL语句 [GO]
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 FOR/AFTER DELETE AS T-SQL语句 [GO]
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 INSTEAD OF INSERT AS T-SQL语句 [GO]
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 INSTEAD OF UPDATE AS T-SQL语句 [GO]
CREATE/ALTER TRIGGER 触发器名称 ON 表名/视图名 INSTEAD OF DELETE AS T-SQL语句 [GO]
DROP TRIGGER 触发器名
CREATE VIEW <视图名>[<列名>,<列名>,[]] [括号内可省略] [WITH ENCRYPTION] 加密[可省略] AS <SELECT 语句> [WITH CHECK OPTION]
CREATE [UNIQUE],[CLUSTERED],[NONCLUSTERED] INDEX 索引名 ON {表或视图} {列} {括号内的一定要写} WITH FILLFACTOR = n 填充因子0到100之间的整数
CREATE PROC 存储过程名 [可选的整数] 用来对同名的过程分组 [{@参数名称 参数类型} [=DEFAULT] [OUTPUT]] [WITH {RECOMPILE 或ENCRYPTION 或RECOMPILE ,ENCRYPTION}] AS [BEGIN] <T-SQL语句> [END] [GO]
---1. 声明游标 DECLARE 游标名 CURSOR LOCAL ---GLOBAL全局游标(默认LOCAL) FOR select_statement ---查询T-SQL select 行 from 表 where 条件 ---2. 打开游标 OPEN 游标名 ---3. 读取游标 NEXT 向下 PRIOR 向上 FIRST 第一个 LAST 最后一个 ABSOLUTE n 绝对位置 RELATIVE n 从当前位置开始到第n个 DECLARE @name varchar(20) ---游标前进赋值 FETCH NEXT FETCH NEXT FROM @varUser cursor ,@uId int ,@uName varchar(50) ,@age int SET @varUser = user_cursor(游标名) WHILE @@FETCH_STATUS = 0 ---判断是否执行成功 BEGIN print cast(@uId as varchar)+','+@uName+','+convert(varchar,@age); <执行T-SQL语句> FETCH NEXT FROM 游标名 INTO @uId,@uName,@age --移动游标 END ---4.关闭游标 CLOSE 游标名 ---5.释放游标 DEALLOCATE 游标名 GO