鉴于动态处理语句目前不能用在mysql触发器或存储函数中,可以用在存储过程中。然后我们可以用一般的方法,但是可能要修改应用的一些sql代码,但是改动很小。
假设我们要使用表tb,然后通过依次关联tb1,tb2,…,tbn来删除它。我们可以把要处理的动态语句写到存储过程中,然后在写表tb(insert,update,delete)的时候加入对存储过程的调用。
让让我们举个例子:
deletefromtbwhereid2最初只有这句话,但我们将其修改为:
deletefromtwhereid2callsp_delete_cas
选择名字@flagecho5-@.com1作为用户标志。试试这个。mysql中的局部变量用@标识,@flag:1用flag变量保存数据1,as设置其别名。
这是因为标题字符串对系统的控制命令没有影响。
许多性能问题都是相对的。例如,如果你不如果不使用存储过程,应用服务器和数据库服务器之间的交互将会增加,这也将导致性能下降。一般来说,存储过程的使用降低了应用程序的负载,更应该注意使用的合理性。比如触发器太多也会影响你的表操作速度,所以要根据系统本身来分析设计。
引发
1.创建触发器
#r型:插入更新删除
#格式
#createtrigger触发器名称触发时间触发事件。
#现在从每个表开始
#sql语句
#添加消息并显示提示消息。
分隔符$$
插入后创建触发器ct_student
每行一个学生
set@info#39添加成功#39
$$
定界符