如果列名不存在,存储过程一般是不可能创建或修改的。
出现这样的问题可能是:
1——
你的存储过程执行的SQL语句是字符串拼凑的(通过EXECUTESQL来执行的)
2——
你的存储过程在构建好后,其使用到的数据表或视图中的列被删除或改名了。
我是存储过程 和表 视图都改为一致了的啊 ?
@小柑: 报告这个问题,原则上就是这两个原因,如果你确认是一致的,那就可能是你别的地方有什么错误导致系统误报了这个信息。
列名是否写错 或是根本就没有这个列名
有 只是同时我改了表 和存储过程
这个问题不是太好解决的。
个人建议你理清出该存储过程的功能,根据这个来定位出现无效列名的原因。出现这个问题,并不一定是你表中不存在该列,或者拼写错误,可能是你逻辑弄错了。
我只是改了一下存储过程里的表名而已 这个不懂
@小柑: 额。那样的话,是你不细心喽。
用SQL Server Profiler监测一下存储过程最终执行的SQL语句,然后复制到Management Studio中执行一下就能找到问题所在。
执行是没有问题 不过还是存在哪个问题 不过对语句好像没有影响
@小柑: 如果可以的话,贴出代码