sqlserver,你的delete語句表名爲何不能別名?

    前幾天寫了幾行sql,用於清除環境裏面的髒數據,平時開發用的是oracle數據庫,看了下里面的語句,處理concat字符串拼接函數看起來稍微特殊點,其它都沒有啥問題。百度了下,cancat能夠用在收起來server2012及以上版本的數據庫中,所以沒有在sqlserver進行自測,直接git提交了代碼。
    今天測試拿到包,在sqlserver下使用,直接報錯,剛開始報的是那個表名別名附近有語法錯誤,還覺得是sqlserver不支持concat,趕忙換成了加好拼接。拿到測試環境去試了下,仍是同樣的報錯,直接告訴我,這個問題沒這麼簡單了。本身再初始化了一個sqlserver數據了,連到了sqlserver數據庫下,使用一樣也是報錯。看了好久,想了下莫不是別名的問題,百度了下,還真的是,sqlserver下,delete後面的表名不能有別名,臥槽,之前怎麼沒遇到過,而後改了,就行了,一連改了不少條sql。
    後面稍微查了下,發如今sqlserver環境下,若是delete後面表名有別名,sqlserver會把別名認爲是別名形成執行出錯。git

相關文章
相關標籤/搜索