鉴于动态处理语句目前不能在MySQL的触发器或者存储函数中使用,但是可以在存储过程里面使用。那么我们可以用通用的方法,但是可能要修改应用的部分SQL代码,不过改动量很小。

假如我们要使用表TB,然后依次关联TB1,TB2,…,TBN进行删除。我们可以把做处理的动态语句写到存储过程里面,然后在对表TB进行写操作(INSERT,UPDATE,DELETE)时,加上对存储过程的调用即可。
Deletefromtbwhereid=2;本来只有这条语句,可我们修改为:
就是一个动态的行列转换
加入这是要转换的表,表名不确定,作为一个参数, aab001、AA011这两个也不确定,也是参数,显示的结果把AA014这一列的内容横过来内容,对应AA015, 最后形成的数据格式如下
任何数据库的配置文件里面都会设置最大限制,超过限制语句就会被截断导致出错。
Mysql为例,在其配置文件中有一个设置 max_allowed_packet = 1M 此时如果你的SQL长度超过了1M就会被截断,从而导致执行失败
MySql数据库是一种开源的关系型数据库管理系统,它是目前最流行的数据库之一。它可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。MySql数据库具有高性能、可靠性和可扩展性,可以处理大量数据,并且支持多用户同时访问。它还提供了丰富的功能和工具,包括事务处理、索引、备份和恢复等。总之,MySql数据库是一种功能强大、易于使用和广泛应用的数据库系统。