Использование касательно курсора в Oracle разработчик SQL

Я использовал его для редактирования файлов на веб-сервере, который был Linux вместо того, чтобы использовать FTP. Это было 9 лет назад, и я с тех пор приобрел навыки.

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

7
задан OMG Ponies 29 October 2009 в 20:29
поделиться

5 ответов

Вы можете легко распечатать результаты вывода ref_cursor в SQL Developer, чтобы увидеть возвращаемое значение...

Вот пример функции рефкурсора:

create or replace function get_employees() return sys_refcursor as
  ret_cursor sys_refcursor;
begin
  open ret_cursor for
    select * from employees;
  return ret_cursor; 
end get_employees;

Быстрый и грязный метод:

select get_employees() from dual; 

Аккуратный и опрятный метод:

variable v_ref_cursor refcursor;
exec :v_ref_cursor := get_employees(); 
print :v_ref_cursor
13
ответ дан 6 December 2019 в 07:51
поделиться

Python: 240 символов

Здесь нет ничего сложного; Вы можете увидеть, возникает ли ваша ошибка в коде sp или yor? Если вы не можете понять это напрямую, определите sp из имеющегося у вас кода, установите точку останова и просмотрите код, чтобы увидеть, откуда возникла ошибка.

Вы можете увидеть, возникает ли ваша ошибка в коде sp или yor? Если вы не можете понять это напрямую, определите sp из имеющегося у вас кода, установите точку останова и просмотрите код, чтобы увидеть, откуда возникла ошибка.

1
ответ дан 6 December 2019 в 07:51
поделиться

Просто создайте цикл, который проходит через возвращенный указатель ref. Вы можете выводить данные на консоль, используя DBMS_OUTPUT.PUT_LINE () и выбирая определенные поля для отображения.

0
ответ дан 6 December 2019 в 07:51
поделиться

There's no way to tell without seeing what the cursor's query is. Take a look at the SELECT statement you're running in the procedure SP. One of the column's you are selecting into a numeric field in rec_type is returning character data, which cannot be converted to a number.

Instead of trying to figure out how to output the cursor, take the SELECT statement from sp and run it standalone. Look down the results you get. You're going to be looking for some non-digit values coming back in one of the fields where you expect a number.

0
ответ дан 6 December 2019 в 07:51
поделиться

В своем комментарии вы говорите Вот ошибка:

ORA-06502: PL/SQL: numeric or value ошибка ORA-06512: at line 16

Как бы ни казалось иногда, ошибки PL/SQL не генерируются случайно. Эта ошибка указывает на ошибочное преобразование типа данных, которое происходит в строке 16 вашей процедуры. Не видя всей вашей процедуры, мы не можем точно определить строку 16. К счастью, редактор кода в SQL Developer помещает номера строк в желоб; если вы не видите номеров строк, вам нужно переключить предпочтение.

Что вам нужно искать, так это приведение строки к числовой переменной или переменной даты, или приведение числа к полю даты. Об этом может сигнализировать явное TO_NUMBER() или TO_DATE, в этом случае необходимо проверить маску формата и/или содержимое данных. В качестве альтернативы вы можете иметь неявное приведение. В этом случае вам может понадобиться сделать его явным, с соответствующей маской формата. Конечно, это может быть случайное и нежелательное преобразование, потому что проекция оператора SELECT не совпадает с сигнатурой записи REF CURSOR. Это легко исправить.

1
ответ дан 6 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

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