com.microsoft.sqlserver.jdbc.SQLServerException:'GO'附近的语法不正确

时间:2015-06-28 12:30:50

标签: java sql-server-2008 velocity

我有一个问题:

IF  EXISTS (SELECT * FROM sys.procedures WHERE name ='stProcedure')
DROP PROCEDURE stProcedure
GO
CREATE PROCEDURE stProcedure
AS
CREATE TABLE [core_schema].MyTable(
firstcolumn  int,
secondcolumn int
);

我拥有的id Java代码:

entityManager.createNativeQuery(createProcedureQueryString).executeUpdate();

如何替代GO或使其有效?在MS SQL Server 2008中它可以工作,但是当我想从java代码中使用它时,我得到了一个

errorcom.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'GO'

2 个答案:

答案 0 :(得分:3)

GO不是有效的SQL语句。

GO是“SQL服务器管理工​​作室”的“命令”,很少有其他工具可以读取和执行。它不适用于SQL Server。

您在SQL语句中不需要“GO”。你需要一个“;”。

答案 1 :(得分:0)

  

答案" Dennis Cheung" +

另一个注意事项是,无法在存储过程中执行DDL语句,您将在使用此给定代码时出错。