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

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

转载于:https://my.oschina.net/u/2618266/blog/1799939

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值