2016-12-28 56 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) –