写exec(@a) 定义@a varchar(4000) 仍然不能满足足够长, varchar 长度 有个max 用varchar(max) 就好了。就能够解决问题。 text 当然也能满足长度 ,但是配合 exec 就不能够使用 。