Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Автоматическое добавление двойных кавычек ко всем строкам  [new]
Канибалыч
Guest
Привет всем,
в sql developer пишу скрипт в котором участвует ~ 300 объектов, определенным методом отобранные.
Запрос применяется к объектам тким путем:
    begin
      for i in (select object_name from user_objects where
      object_name in
(
---тут много имен объектов
)
(


Как сразу все строчки обрамить в двойные кавычки?

in
(
'NAME1',
'NAME2'
...
)
30 ноя 15, 17:23    [18493481]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
Канибалыч
Guest
Канибалыч,

я конечно говорю о простых кавычках, извиняюсь
30 ноя 15, 17:26    [18493490]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7135
Канибалыч
Канибалыч,

я конечно говорю о простых кавычках, извиняюсь

Как обычно, используешь возможности SQL для генерации требуемого кода:
SQL> select ',"'||tname||'"' as tname from tab;

TNAME
--------------------------------------------------------------------------------
,"Dropme0"
,"Dropme1"
...


Остаётся скопировать получившуюся портянку в нужное место
30 ноя 15, 17:33    [18493521]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
Канибалыч
Guest
Vadim Lejnin,
Тогда мне придется писать к каждому объекту запрос, что тупо. Проблема лишь в том, что этот список объектов нельзя получить никаким запросом к базе, в этом вся сложность. Так то да можно было бы сделать селект уже с этими кавычками.
30 ноя 15, 17:36    [18493530]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Канибалыч,

select regexp_replace(id
                     ,'^(.*)$'
                     ,',''\1'''
                     ,1
                     ,0
                     ,'m')
          fixed
  from (select 'NAME1
NAME2
CANNIBAL
IS_DOUCHEBAG' id from dual);

FIXED
---------------------------------------------
,'NAME1'
,'NAME2'
,'CANNIBAL'
,'IS_DOUCHEBAG'
30 ноя 15, 17:40    [18493542]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
Канибалыч
Guest
dbms_photoshop,

как мииииило :)) ,спасибо!
30 ноя 15, 17:44    [18493559]     Ответить | Цитировать Сообщить модератору
 Re: Автоматическое добавление двойных кавычек ко всем строкам  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7135
Канибалыч, но ты же как то пишешь?
Откуда то ты ведь получаешь список объектов?

По умолчанию, все имена без кавычек в Oracle приводятся к верхнему регистру, если соблюдать это правило, то кавычки не нужны.

Если тебе важен регистр, то только только возможности редактора.
Например NotePad++ позволяет использовать regexp выражения в поиск/замене
30 ноя 15, 17:45    [18493563]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить