sqlserver,你的delete语句表名为何不能别名?

    前几天写了几行sql,用于清除环境里面的脏数据,平时开发用的是oracle数据库,看了下里面的语句,处理concat字符串拼接函数看起来稍微特殊点,其它都没有啥问题。百度了下,cancat能够用在收起来server2012及以上版本的数据库中,所以没有在sqlserver进行自测,直接git提交了代码。
    今天测试拿到包,在sqlserver下使用,直接报错,刚开始报的是那个表名别名附近有语法错误,还觉得是sqlserver不支持concat,赶忙换成了加好拼接。拿到测试环境去试了下,仍是同样的报错,直接告诉我,这个问题没这么简单了。本身再初始化了一个sqlserver数据了,连到了sqlserver数据库下,使用一样也是报错。看了好久,想了下莫不是别名的问题,百度了下,还真的是,sqlserver下,delete后面的表名不能有别名,卧槽,之前怎么没遇到过,而后改了,就行了,一连改了不少条sql。
    后面稍微查了下,发如今sqlserver环境下,若是delete后面表名有别名,sqlserver会把别名认为是别名形成执行出错。git

相关文章
相关标签/搜索