Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=12624321&src=&showlite=l
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 06:16:36 2016
Кодировка: Windows-1251
Как в Oracle использовать константы в select? - Public forum of MSU united student networks
Technical >> Development

Страницы: 0 | (2) | 20 | показать все | след. страница
VVD : Re: Как в Oracle использовать константы в select?  [re:logartos]   19.02.2016 16:52    | Reply | Edit |
8
Болезнь серва передается через форум! Будьте бдительны и осторожны! :o
:grin:

Shurik   [re:logartos]   19.02.2016 17:28    | Reply | Edit |
1
Если выполнять запрос из SQL Window из PLSQL Developer, то эти варианты не работают.
Из dbForge тоже не работают.

Bobrovnikov   [re:Shurik]   19.02.2016 17:39    | Reply | Edit |
-2
Попробуй разобраться самостоятельно.

logartos   [re:Shurik]   19.02.2016 18:26    | Reply | Edit |
1
В ответ на:

SQL Window из PLSQL Developer



Please try Command Window
or
"select * from table_name where column_name = &var_name" in SQL Window + variables dialog

DDD2   [re:Shurik]   19.02.2016 21:51    | Reply | Edit |
0
Вроде бы DBMS_SESSION.SET_CONTEXT - то что тебе нужно

Shurik   [re:logartos]   19.02.2016 22:33    | Reply | Edit |
0
Quote:

Please try Command Window



Это мы давно используем. Но часто удобно в SQL Window работать, естественно, хочется иметь возможность заводить переменные. Variables dialog это какое-то буэээ, текстовый редактор же удобнее в тысячу раз.

Shurik   [re:Bobrovnikov]   19.02.2016 22:35    | Reply | Edit |
0
Quote:

Попробуй разобраться самостоятельно.



Хотелось бы услышать удобный вариант от гуру Oracle. Это же по идеи повседневная операция.

Shurik   [re:Bobrovnikov]   19.02.2016 23:03    | Reply | Edit |
0
Quote:

Попробуй разобраться самостоятельно.




Не осмеливаешься сказать, что король голый?
Quote:


Simple answer NO.
http://stackoverflow.com/a/5653541





DDD2   [re:Shurik]   19.02.2016 23:11    | Reply | Edit |
0
Ты хочешь переменные уровня сервера или подстановку значений на клиенте?

Shurik   [re:DDD2]   19.02.2016 23:14    | Reply | Edit |
0
Я хочу в текстовом редакторе ввести обозначение для константы, потом использовать это обозначение. Где это будет выполнятся мне все равно.

Shurik   [re:Shurik]   19.02.2016 23:20    | Reply | Edit |
0
Из дома из dbForge работает:
 
code:
def x = 'тест'; SELECT &x FROM DUAL;

На работе то ли я про тупил, то ли dbForge старый....
Вопрос решен.


DDD2   [re:Shurik]   19.02.2016 23:34    | Reply | Edit |
4
Я для всех видов реплов использую vim-slime. Это микроплагин к виму, его можно самому написать в несколько строк.

Как это выглядит. На одном экране открыт vim с кодом. Там разные куски кода, которые я выполняю в процессе изучения API и мелкого твикинга.

На правом экране открыт репл. В случае оракла реплом является sqlplus.

Я пишу или правлю кусок кода в виме. Когда я хочу его выполнить, то жму Ctrl-C Ctrl-C. При этом происходит следующее: vim-slime выделяет текущий абзац и посылает его в соседнее окно GNU screen, в котором запущен sqlplus. C точки зрения sqlplus все работает так же, как будто ты этот текст руками вбил.

Я использую такой сетап для всего, включая:
1) node.js
2) php
3) google chrome (через crconsole)
4) psql
5) bash

Думаю что в последующие двадцать лет такой подход останется актуальным. Таким образом я абстрагирован от гуевых программулек, которые пишут в оракле индусы на джаве.

Жалею только что мне раньше никто это не показал, пришлось самому доходить.

Shurik   [re:DDD2]   20.02.2016 01:19    | Reply | Edit |
0
не ну, я то привык к продвинутому автокомплиту, например, чтобы join on из списка FK выбирать

klerk   [re:Shurik]   20.02.2016 01:32    | Reply | Edit |
0
declare
    param number;
begin
    param:=1;
    select ...;
end;

DDD2   [re:Shurik]   20.02.2016 02:14    | Reply | Edit |
0
В ответ на:

не ну, я то привык к продвинутому автокомплиту, например, чтобы join on из списка FK выбирать




На мой взгляд можно и без продвинутого автокомплита хорошо жить.
Во-первых, есть тупое автодополнение по всему списку идентификаторов. Я идентификаторы длиннее 8 букв никогда не печатаю целиком.
Во-вторых, для SQL я бы сделал так. В psql есть макрос \d objectName который выдает описание объекта с именем objectName. Я бы повесил на хоткей функцию, которая отправляет в psql \d <слово под курсором>.
Печатая select * from sometable я бы остановился, нажал этот хоткей и увидел список foreign ключей таблицы sometable.
На мой взгляд это немногим хуже умного автокомплита, но ты сразу получаешь миллион плюсов.
Есть сетевая прозрачность, можешь с ноута работать на удаленном сервере. Одинаково работаешь на любой ОС. Одинаково программируешь на любом языке. Используешь самые простые инструменты (проще текстового репла ничего нет). Ничего не тормозит и не глючит.

Shurik   [re:DDD2]   21.02.2016 00:44    | Reply | Edit |
0
Не особо понял как это будет выглядеть. Можешь показать на картинках?

У меня вот так:
/user/upload/file37561.b57986abca5e34d1b482.png

gadfather   [re:Shurik]   21.02.2016 00:48    | Reply | Edit |
0
а какой толк от такого длинного списка что он в скриншот не влез?

Shurik   [re:gadfather]   21.02.2016 00:53    | Reply | Edit |
1
Список из 5 элементов, на скриншот влез. Очень полезен, это просто наблюдаемый факт. Я когда установил dbForge смог быстро разбираться в незнакомых базах. А люди, которые им не пользуются, притормаживают на join-ах, это хорошо заметно.

Естественно, когда начинаешь печатать, список фильтруется по введенным символам.

DDD2   [re:Shurik]   21.02.2016 01:58    | Reply | Edit |
0
Выглядит так:
 
code:
postgres=# \d genre Table "public.genre" Column | Type | Modifiers --------+---------+---------------------------------------------------- id | integer | not null default nextval('genre_id_seq'::regclass) name | text | not null Indexes: "genre_pkey" PRIMARY KEY, btree (id) Referenced by: TABLE "song" CONSTRAINT "song_genre_id_fkey" FOREIGN KEY (genre_id) REFERENCES genre(id)

Соответственно ты наводишь курсор на название таблицы, жмешь хоткей, и в соседнем окне появляется такая информация.

Shurik   [re:DDD2]   21.02.2016 20:20    | Reply | Edit |
0
Quote:

Соответственно ты наводишь курсор на название таблицы, жмешь хоткей, и в соседнем окне появляется такая информация.



Что ты дальше делаешь?

Top | след. страница