Выходные данные csv [дубликат]

Это означает, что вы пытаетесь манипулировать тем, что имеет ссылку, но еще не инициализировано. Первое, что нужно сделать, это проверить каждый созданный экземпляр. Используйте контрольные точки, часы, проверяйте свои значения varibale. Следить за трассировкой стека и искать точные строки и столбцы, которые создают проблему

4
задан APC 25 May 2010 в 14:47
поделиться

4 ответа

PL / SQL не поставляется со встроенным токенизатором. Тем не менее, относительно просто построить SQL или PL / SQL. Веб-сайт Адриана Биллингтона имеет несколько решений . Кроме того, если вы находитесь на 10g, вы можете использовать этот код от Tanel Poder , который делает это в SQL с помощью regex.

По общему признанию, было бы проще, если бы Oracle просто включил dang как один из их встроенных модулей.

2
ответ дан APC 28 August 2018 в 03:47
поделиться
  • 1
    Ты шутишь? Сколько времени им понадобилось, чтобы добавить поддержку Boolean? И вы still не можете хранить логическое значение в таблице. & GT; = ( – Mike Hofer 5 October 2009 в 17:59

PL / SQL включает базовый для списков, разделенных запятыми (DBMS_UTILITY.COMMA_TO_TABLE).

Пример:

DECLARE
   lv_tab_length   BINARY_INTEGER;
   lt_array   DBMS_UTILITY.lname_array;
BEGIN
   DBMS_UTILITY.COMMA_TO_TABLE( list => 'one,two,three,four'
                              , tablen => lv_tab_length
                              , tab => lt_array
                              );

   DBMS_OUTPUT.PUT_LINE( 'lv_tab_length = ['||lv_tab_length||']' );

   FOR i IN 1..lv_tab_length
   LOOP
      DBMS_OUTPUT.PUT_LINE( '['||lt_array( i )||']' );
   END LOOP;

END;
/

Или см. ссылку Ask Tom для других идей. ..

Ak Tom - «различные элементы в списке IN»

4
ответ дан Paul James 28 August 2018 в 03:47
поделиться
  • 1
    Эта функция имеет реальную ошибку: DBMS_UTILITY.COMMA_TO_TABLE распознает только токены, которые могут быть законными именами объектов Oracle. Так что полезность несколько ограничена. – APC 15 August 2012 в 14:32

Альтернативой является запись Java-хранимой процедуры (внутри базы данных есть JVM), это означает, что вы можете использовать java.util.StringTokenizer. Вы должны перенести хранимый в Java процесс внутри процедуры / функции PL / SQL.

Здесь для примера: http://forums.oracle.com/forums/thread.jspa?messageID=2575374&#2575374

Печально Я не понимаю проверенные исключения Java, поэтому обработка исключений не очень велика (я не Java-разработчик).

0
ответ дан tuinstoel 28 August 2018 в 03:47
поделиться

, если у вас установлен APEX, функция APEX_UTIL.string_to_table делает именно это.

3
ответ дан Vincent Malgrat 28 August 2018 в 03:47
поделиться
  • 1
    Если у вас установлен 11g APEX, вы получите доступ к этой функции. – APC 5 October 2009 в 16:42
Другие вопросы по тегам:

Похожие вопросы: