1. 同时设置多个变量,col1,2是列名,v1,v2是变量名
select col1,col2 into v1,v2 from tablename
2. 使用动态sql
set sqlstr = 'update table set col1 = ?,col2 = ? where id = ? and sid = ?';
prepare s1 from sqlstr;
execute s1 using v1,v2,v3,v4;
3. 使用动态sql删除表数据,替代delete from。适用于表数据太多,回滚日志太大的情况
首先定义一个变量sqlstr;接着
set sqlstr = 'alter table yourtablename activate not logged initially with empty table';
prepare s1 from sqlstr;
execute s1;
4.使用自定义异常及异常处理
自定义异常:DECLARE YOUREXCEPTION CONDITION FOR SQLSTATE 'T0001'; 'T0001'是自定义状态码。
自定义异常处理:这里使用exit,也可以定义continue或其它的
DECLARE EXIT HANDLER FOR YOUREXCEPTION
BEGIN
--这里一般会做的事是设置一个返回参数表示成功或失败,另外插入日志表
END;
5.取得插入,更新,删除的记录数
get diagnostics rowcount = ROW_COUNT;