我需要从我的Java代码中动态创建存储过程。我搜索了任何类型的示例但是找不到任何东西。在互联网上我找到了很多关于如何运行存储过程的例子,但是我需要从我的代码创建它。我试图做的是:
StringBuilder strbuild=new StringBuilder();
strbuild.append("USE [ARGOS] \n");
strbuild.append("GO\n");
strbuild.append("SET ANSI_NULLS ON\n");
strbuild.append("GO\n");
strbuild.append("SET QUOTED_IDENTIFIER ON\n");
strbuild.append("GO\n");
strbuild.append("CREATE PROCEDURE [dbo].[sptest10] \n");
strbuild.append("as select *\n");
strbuild.append("FROM [ARGOSCOPE].[dbo].[TableTmp2] \n");
strbuild.append("GO\n");
Statement stmt = myconnection.createStatement();
ResultSet rs = stmt.executeQuery(strbuild.toString());
但它没有用。任何建议?
答案 0 :(得分:2)
GO
不是您在此SQL / T-SQL代码中可以指定的内容
它仅适用于SQL Server Management Studio和其他特定工具
请勿在此处使用GO
语句。
另见:
GO不是Transact-SQL语句;它是sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器可识别的命令。
答案 1 :(得分:1)
GO语句在SQL Server Management Studio中用于允许您将通常为一系列独立执行的语句串联起来。这是为了允许您执行包含多个命令的脚本,这些命令必须是查询中的第一个语句,例如CREATE PROCEDURE。
如果将语句拆分为字符串“\ nGO \ n”上的多个字符串并使用相同的连接按顺序执行它们,则将重现在SSMS中单击“执行”的行为。