Динамически создавать хранимые процедуры с помощью Java в MS SQL Server 2012

1

Мне нужно создать Хранимую процедуру динамически, из моего кода 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
    Какую ошибку вы получаете?
  • 0
    В руководствах по Oracle Java для JDBC есть пример, который решает эту проблему : docs.oracle.com/javase/tutorial/jdbc/basics/…
Показать ещё 6 комментариев
Теги:
sql-server
stored-procedures

2 ответа

2

GO не то, что вы можете указать здесь в этом фрагменте кода SQL/T-SQL.
Он применяется только к SQL Server Management Studio и другим специальным инструментам.
Просто не используйте инструкции GO здесь.

Смотрите также:

GO - SQL Server

GO не является оператором Transact-SQL; это команда, признанная утилитами sqlcmd и osql и редактором кода SQL Server Management Studio.

1

Инструкция GO используется в SQL Server Management Studio, чтобы вы могли объединять вместе, что обычно представляет собой серию независимо исполняемых операторов. Это позволит вам выполнять сценарии, содержащие несколько команд, которые должны быть первым оператором в запросе, например CREATE PROCEDURE.

Если вы разделите свой оператор на несколько строк на строку "\nGO\n" и выполните их последовательно с использованием того же соединения, вы воспроизведете поведение нажатия кнопки "Выполнить" в SSMS.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню