2016-12-28 41 views
0

以下Groovy腳本不執行任何操作:SQL,其中大於在Groovy腳本

def cmd = /sqlcmd -S 127.0.0.1\MSSQLSERVER -d LocalDevelop10DB -Q "DELETE FROM T_TimeRegistration WHERE TimeRegLineNr > 36"/ 
cmd.execute() 

雖然這個Groovy腳本完美的作品:

def cmd = /sqlcmd -S 127.0.0.1\MSSQLSERVER -d LocalDevelop10DB -Q "DELETE FROM T_TimeRegistration WHERE TimeRegLineNr = 37"/ 
cmd.execute() 

我想用一個腳本(的影響)。看起來'>'角色不知何故不被支持,我試圖逃避它,但沒有喜悅。我錯過了什麼,有人可以幫忙嗎?

謝謝

+1

你是如何設法逃脫大於符號? –

+0

我沒有任何關於如何做到這一點,但我試過\> –

回答

2

我不知道Groovy的一切,但如果你想避免超過符號時,你可以使用之間:

DELETE FROM T_TimeRegistration 
WHERE TimeRegLineNr between 37 and 2147483647 

2147483647最大int值

+0

非常感謝那些作品。如果有人有更好的答案,我會等待,否則這將是我的解決方案。 –

+0

這實際上並不是真正的問題的答案,我仍然不明白爲什麼我不能使用大於號的符號,但是我可以繼續使用此解決方案,因此感謝安德烈。 –

0

您在運行腳本時是否有任何錯誤。 嘗試從SSMS運行查詢(DELETE FROM T_TimeRegistration WHERE TimeRegLineNr> 36)並查看它是否有效,或查看它爲什麼不起作用。 也許你有一些fk限制,其中一個行被引用在其他表中。

+0

感謝您的答覆,但是當我在SSMS中運行查詢它的作品。響應是 (0行受影響) (1 row(s)affected) –