Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос из java на plsql / 23 сообщений из 23, страница 1 из 1
11.12.2017, 18:16
    #39567900
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Вопрос вот в чем состоит
До этого писались запросы непосредственно в java вида:


return jdbcTemplate.query("select....


Сейчас необходимо переносить все в базу данных в виде view(пожалуйста, не спрашивайте почему так или иначе - сказали, сделали)

Столкнулся с некоторыми проблемами. Такими как :
При переносе базы данных часто необходимо делать выборку посредством фильтра. Проблема решалась с помощью создания SET(PROCEDURE)/GET(FUNCTION)

Но существуют такие проблемы, когда в таблице непосредственно создается primary key и вытаскивался он запросом
where name(primary key) in (select column_value from table "
+ " (new tt_varchar2(:name_whatineed))

Как можно без особого ущерба переработать это во view, с фильтром на одно из значений в primary key?
...
Рейтинг: 0 / 0
11.12.2017, 18:43
    #39567922
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxey,

PL/SQL мёртв, вместо него скоро будет Javascript и другие языки.
Oracle Database Multilingual Engine (MLE)
Одумайтесь пока не подзно!
...
Рейтинг: 0 / 0
11.12.2017, 18:51
    #39567931
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Я понимаю, что он мёртв. Но руководство - нет
Прошу советов на эту тему. Работаю с этой ахинеей впервые.
...
Рейтинг: 0 / 0
11.12.2017, 18:53
    #39567935
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxey,

Можете написать хоть один кусок кода с "Но существуют такие проблемы" потому что пока не понятно, что это за проблемы
...
Рейтинг: 0 / 0
11.12.2017, 19:05
    #39567941
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Даже кусок когда не могу сюда запостить, к сожалению.
Смысл как я и написал выше.
Создаётся primary key, который называется number
Он создаётся командой
alter table number_number
Add constant number primary key (incd)
В запросе на Яве обращался к нему посредством обычного селекте с указанием :incd
Сейчас же, при переходе на plsql, нужно указать что именно этот incd надо вытаскивать для каждого primary key.
Раньше решал это с помощью процедуры, создания сиквэнсов и триггера
Добавлял, что бы Ява не ругалась в процедуру

Procedure name (p_workgroups in tt_varchar2)
Is
Begin
P_workgroups := a.workgroups
End name

Сейчас же не знаю как вытаскивать
...
Рейтинг: 0 / 0
11.12.2017, 20:28
    #39567964
Перенос из java на plsql
Почитал сегодняшние темы, стало стыдно, что я программист. Может в грузчики пойти. Помню, когда подрабатывал студентом, умели доходчиво объяснить, куда идти, парой слов из трех букв.
...
Рейтинг: 0 / 0
11.12.2017, 20:38
    #39567966
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Не надо, пожалуйста, тут писать про специализированные сайты.
Смысл в том, что нужно за 1-2 недели переделать все на plsql базу oracle 11g
Зачем и мне не понятно. Так же как и сам plsql.
Просьба конструктивно подсказать.
...
Рейтинг: 0 / 0
11.12.2017, 20:42
    #39567967
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxey...
Столкнулся с некоторыми проблемами. Такими как :
При переносе базы данных часто необходимо делать выборку посредством фильтра. Проблема решалась с помощью создания SET(PROCEDURE)/GET(FUNCTION)

Но существуют такие проблемы, когда в таблице непосредственно создается primary key и вытаскивался он запросом
where name(primary key) in (select column_value from table "
+ " (new tt_varchar2(:name_whatineed))

Как можно без особого ущерба переработать это во view, с фильтром на одно из значений в primary key?
Вы можете использовать пару
Код: plsql
1.
2.
3.
begin dbms_session.set_context('CLIENTCONTEXT', 'a', :name_whatineed); end;
+
select sys_context('CLIENTCONTEXT', 'a') from dual Where sys_context('CLIENTCONTEXT', 'a') = :name_whatineed;



http://www.sql.ru/forum/980459/ispolzovanie-clientcontext-dlya-peredachi-parametrov-s-klienta

Но. Может быть конструктивнее окажется вариант анонимного/хранимого именованного кода, возвращающего курсор.
Оцените плюсы-минусы.

Ps.
js в базе - это дополнительная к java причуда, возникающая от того, что pl/sql слишком быстро работает,
даже если ява-машин запустить по числу открытых сеансов?
Люди никак не могут придумать - как же систему так затормозить, чтобы все окончательно осознали ее крутизну.
Вроде бы и так понятно - раз тормозит - значит круто.
Но мало убить себя одним селектом.
Надо убить себя одним селектом обязательно с помощью js-кода.
...
Рейтинг: 0 / 0
11.12.2017, 20:48
    #39567970
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
сорри.
Должно было бы быть как-то так:
boobyFoxey...
Столкнулся с некоторыми проблемами. Такими как :
При переносе базы данных часто необходимо делать выборку посредством фильтра. Проблема решалась с помощью создания SET(PROCEDURE)/GET(FUNCTION)

Но существуют такие проблемы, когда в таблице непосредственно создается primary key и вытаскивался он запросом
where name(primary key) in (select column_value from table "
+ " (new tt_varchar2(:name_whatineed))

Как можно без особого ущерба переработать это во view, с фильтром на одно из значений в primary key?
Вы можете использовать пару
Код: plsql
1.
2.
3.
4.
5.
6.
begin dbms_session.set_context('CLIENTCONTEXT', 'a', :name_whatineed); end;
+
select sys_context('CLIENTCONTEXT', 'a') from dual Where sys_context('CLIENTCONTEXT', 'a') = :name_whatineed;

where name(primary key) in  (select column_value from table                                                              "
				+ " (sys_context('CLIENTCONTEXT', 'a') )


...
...
Рейтинг: 0 / 0
11.12.2017, 20:55
    #39567975
Перенос из java на plsql
Похоже, отвечающий решил не ущемлять самолюбие вопрошающего способностью изъясняться.
...
Рейтинг: 0 / 0
11.12.2017, 21:01
    #39567978
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
booby,

Спасибо за инфу, попытаюсь реализовать.


-------------------

Смысл в том, что я выбирал необходимы назначения с помощью
//Вручную на чек валидности
Begin
Flag.Start_Date (To_date ('01.01.2017', 'dd.mm.yyyy');
Flag.End_Date (To_date ('01.01.2017', 'dd.mm.yyyy');
Flag.Need_incd(name_incd);
End
//Общий вид
Begin
Flag.Start_date (:startdate);
Flag.End_date(:enddate);
Flag.Need_incd(:needincd);
End
Дальше идёт селект по выборке. Если name_incd содержится в таблице, разумеется.
После чего в коде стоит выборка на строки бегина
Реализованно в таске plsql Tasks в структуре Flag слежующее


Procedure name (p_workgroups in tt_varchar2)
Is
Begin
P_workgroups := a.workgroups
End name

Но это работает почему только для статичных, для переменных primary keyон выдает ошибку.
...
Рейтинг: 0 / 0
11.12.2017, 21:05
    #39567981
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Upd

Даже если конвертировать primary key в tt_varchar2 вылетает ошибка, код ошибки сейчас сказать не смогу, это надо завтра записывать
...
Рейтинг: 0 / 0
11.12.2017, 21:14
    #39567984
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxey,
Если Flag - это пакет, то вы не можете в sql-представлении прямо сослаться на пакетную переменную сорта Flag.name_incd.
Кроме процедуры Flag.Need_incd(:needincd) вам потребуется
функция типа Flag.get_Need_incd, которая для sql будет возвращать установленное вами значение Flag.name_incd.
Такую функцию вы можете использовать в sql. (и тогда вам станет не нужен 'CLIENTCONTEXT')
...
Рейтинг: 0 / 0
11.12.2017, 21:17
    #39567985
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
FoxeyUpd

Даже если конвертировать primary key в tt_varchar2 вылетает ошибка, код ошибки сейчас сказать не смогу, это надо завтра записывать
ой-ой.
это овер-информатион.
я даже ее ценности оценить не сумею.
...
Рейтинг: 0 / 0
11.12.2017, 21:23
    #39567988
Bobby Z.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
boobyFoxeyUpd

Даже если конвертировать primary key в tt_varchar2 вылетает ошибка, код ошибки сейчас сказать не смогу, это надо завтра записывать
ой-ой.
это овер-информатион.
я даже ее ценности оценить не сумею.Мне одному кажется, что это два косноязычных чат-бота ведут беседу на одну им понятную тему?
...
Рейтинг: 0 / 0
11.12.2017, 21:24
    #39567992
Bobby Z.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Блин, это заразно. Bobby Z....одну им... => одним им.
...
Рейтинг: 0 / 0
11.12.2017, 21:30
    #39567994
Алекссс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
dbms_photoshopFoxey,

PL/SQL мёртв, вместо него скоро будет Javascript
нетипизированный язык? УДАЧИ!
...
Рейтинг: 0 / 0
11.12.2017, 21:32
    #39567995
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Bobby Z.,
присоединяйся.
мы тут, дома, русским яз ы ком разговариваем.
может табе перевести что требуется?

перевожу с русского на русский - архитектор у них на работе завелся, да еще с пониманием .
Вот народ озадаченный кругами расходится.
И все это шчастье в яве. ой-ой дж аве (или как она там у вас,)
...
Рейтинг: 0 / 0
11.12.2017, 21:47
    #39568001
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
booby...
Такую функцию вы можете использовать в sql. (и тогда вам станет не нужен 'CLIENTCONTEXT')
с точностью до предположения о том, что set и get происходят в одном и том же сеансе.
(Иначе надо переходить к руководствам для старших курсов.)
...
Рейтинг: 0 / 0
11.12.2017, 22:08
    #39568011
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
booby,

Да. Созданы get и set
...
Рейтинг: 0 / 0
11.12.2017, 22:24
    #39568019
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxeybooby,

Да. Созданы get и set
осталось теперь убедиться, что get происходит в том же сеансе, в котором приключился set.
ps:
у вас-там шибко архитекурна либа, что-ли, поверх jdbc, местного изготовления?
Настоятельно рекомендую обучить ея, кроме умения связывать in-параметры, возвращать курсоры в out.
Вашему архитектору сильно полегчает.
А если "подхода" затребовала выбранная вашим архи... orm, то здесь все просто:
Одному из трех в проекте не место - orm, архитектору или разработчику.
Что здесь положительно - разработчику не требуется ожидать мнения orm или архитектора о своем соответствии проекту.
...
Рейтинг: 0 / 0
11.12.2017, 22:27
    #39568020
Sayan Malakshinov
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
Foxey,

Не мучайте ни себя ни людей на форуме - идите к вашим разработчикам-базовикам, они все вам сделают и обьяснят
...
Рейтинг: 0 / 0
11.12.2017, 23:24
    #39568031
Foxey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос из java на plsql
xtender,

Если бы они были
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос из java на plsql / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]