Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PL/SQL 
:(
    Опции темы
Samotnik
Дата 16.11.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Привет 
как выполнить PL/SQL  скрипт с помощью Java 
(лучше всего используя JDBC) 
 smile  
Подскажите пажалста smile 


Конкретнее: 
Как вот это можно выполнить ?
Код

declare
    c   integer;
begin
    select count(*) into c from user_tab_columns where table_name = 'CONTRACTOR' and column_name = 'FINACCAPPLICATIONSERVERPORT';
    if c = 0
    then
        EXECUTE IMMEDIATE 'alter table contractor add finaccapplicationserverport varchar2(30) null';
    end if;
end;
/


Это сообщение отредактировал(а) Samotnik - 16.11.2009, 18:17
PM MAIL   Вверх
ivanovpv
Дата 16.11.2009, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



У Oracle есть специальное расширение API JDBC, который позволяет выполнять скрипты PL/SQL. Поройтесь в доках Oracle, пользовался сам, помню что был такой класс OracleStatement вместо обычного Statement - вроде так  - да давно это было боюсь наврать.


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
avvo
Дата 17.11.2009, 09:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 11.9.2007

Репутация: нет
Всего: 4



Да вроде как обычно:
Код

            PreparedStatement st = connection.prepareStatement("declare\n" +
                    "m number;\n" +
                    "begin\n" +
                    "m:=1;\n" +
                    "dbms_output.put_line(to_char(m));\n" +
                    "end;");
            st.execute();

PM MAIL   Вверх
Samotnik
Дата 17.11.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



avvo, ну впринципе да smile а как быть, если declare несколько ? к примеру 
Код

PreparedStatement st = connection.prepareStatement("declare\n" +
                    "m number;\n" +
                    "begin\n" +
                    "m:=1;\n" +
                    "dbms_output.put_line(to_char(m));\n" +
                    "end;" + 
                     "declare\n" +
                    "x number;\n" +
                    "begin\n" +
                    "x:=2;\n" +
                    "dbms_output.put_line(to_char(x));\n" +
                    "end;");
            st.execute();

smile ?
У меня лично, валит эксепшен как раз на втором declare  smile 
PM MAIL   Вверх
avvo
Дата 17.11.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 11.9.2007

Репутация: нет
Всего: 4



Цитата(Samotnik @ 17.11.2009,  10:47)
avvo, ну впринципе да smile а как быть, если declare несколько ? к примеру 
Код

PreparedStatement st = connection.prepareStatement("declare\n" +
                    "m number;\n" +
                    "begin\n" +
                    "m:=1;\n" +
                    "dbms_output.put_line(to_char(m));\n" +
                    "end;" + 
                     "declare\n" +
                    "x number;\n" +
                    "begin\n" +
                    "x:=2;\n" +
                    "dbms_output.put_line(to_char(x));\n" +
                    "end;");
            st.execute();

smile ?
У меня лично, валит эксепшен как раз на втором declare  smile

Если два declare, то это два отдельных statement. По другому никак.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.