Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Как вернуть из процедуры в клиентскую часть больше 4000 символов, т.е. не VARCHAR2, но сроку.
13 фев 08, 12:58    [5283283]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
alsov
Member

Откуда: Санкт-Петербург
Сообщений: 153
clob
13 фев 08, 12:59    [5283287]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
ERROR MESSAGE
Member

Откуда: Москва
Сообщений: 376
for_toad
Как вернуть из процедуры в клиентскую часть больше 4000 символов, т.е. не VARCHAR2, но сроку.
Варчары тоже бывают больше 4000 байт
До 32 кил оне в PL/SQLе
Ты уж, мил человек, точно скажи чего надо,
чего именно потребно тебе для локального счастья ))
13 фев 08, 13:05    [5283339]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
ERROR MESSAGE
for_toad
Как вернуть из процедуры в клиентскую часть больше 4000 символов, т.е. не VARCHAR2, но сроку.
Варчары тоже бывают больше 4000 байт
До 32 кил оне в PL/SQLе
Ты уж, мил человек, точно скажи чего надо,
чего именно потребно тебе для локального счастья ))


Имеете в виду LONG datatype?:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/datatypes.htm#sthref705
13 фев 08, 13:27    [5283545]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
ERROR MESSAGE
Member

Откуда: Москва
Сообщений: 376
for_toad
ERROR MESSAGE
for_toad
Как вернуть из процедуры в клиентскую часть больше 4000 символов, т.е. не VARCHAR2, но сроку.
Варчары тоже бывают больше 4000 байт
До 32 кил оне в PL/SQLе
Ты уж, мил человек, точно скажи чего надо,
чего именно потребно тебе для локального счастья ))
Имеете в виду LONG datatype?
Нет, друже. Я имею в виду VARCHAR2 datatype внутре PL/SQL

The VARCHAR2 datatype takes a required parameter that specifies a maximum size up to 32767 bytes.
The syntax follows:
VARCHAR2(maximum_size [CHAR  |  BYTE])
Ето тама же написано, куда ты ссылку дал, но пониже
13 фев 08, 13:40    [5283680]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
ERROR MESSAGE
for_toad
ERROR MESSAGE
for_toad
Как вернуть из процедуры в клиентскую часть больше 4000 символов, т.е. не VARCHAR2, но сроку.
Варчары тоже бывают больше 4000 байт
До 32 кил оне в PL/SQLе
Ты уж, мил человек, точно скажи чего надо,
чего именно потребно тебе для локального счастья ))
Имеете в виду LONG datatype?
Нет, друже. Я имею в виду VARCHAR2 datatype внутре PL/SQL

The VARCHAR2 datatype takes a required parameter that specifies a maximum size up to 32767 bytes.
The syntax follows:
VARCHAR2(maximum_size [CHAR  |  BYTE])
Ето тама же написано, куда ты ссылку дал, но пониже



да, но в функции размер параметра VARCHAR2 не определяется:
FUNCTION search_t_int(..., p IN VARCHAR2)
PROCEDURE search_t (...., p_result OUT VARCHAR2)
13 фев 08, 14:01    [5283893]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Pir
Member

Откуда: Москва
Сообщений: 872
не определяется, значит максимальный
если вы ен вызываете функцию в sql запросе - ограничения 4000 символов нет
13 фев 08, 14:05    [5283921]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Pir
не определяется, значит максимальный
если вы ен вызываете функцию в sql запросе - ограничения 4000 символов нет


Поставил VARCHAR2(32000), error message:
Wrong SQL command:
character string buffer to small

используется TYPE cursor_ref IS REF CURSOR; , но склеиваю строку VARCHAR2 || ,
который описал VARCHAR2(32000);
13 фев 08, 14:22    [5284093]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Pir
не определяется, значит максимальный
если вы ен вызываете функцию в sql запросе - ограничения 4000 символов нет


это ощибка когда присваиваю параметру строку типа VARCHAR2(32000)
13 фев 08, 14:35    [5284218]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116084
for_toad
Pir
не определяется, значит максимальный
если вы ен вызываете функцию в sql запросе - ограничения 4000 символов нет


это ощибка когда присваиваю параметру строку типа VARCHAR2(32000)


for_toad, Вы как то чересчур туманно излагаете.

Ответьте плиз на следующие вопросы

1. Где Вы используете Вашу переменную VARCHAR2(32000)
2. Где и когда происходит ошибка
3. Как Вы вызываете функцию / процедуру.
13 фев 08, 14:47    [5284365]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
Если объявить переменную как varchar2(32000), запихнуть в нее данных в процедуре и сказать return ее, то все будет зависеть от того, сколько в ней символов получилось. Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
13 фев 08, 15:25    [5284736]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Elic
Member

Откуда:
Сообщений: 29976
Batsall
в процедуре ... Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
Цифра зависит исключительно только от вместимости пункта назначения
13 фев 08, 15:29    [5284782]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Batsall
Если объявить переменную как varchar2(32000), запихнуть в нее данных в процедуре и сказать return ее, то все будет зависеть от того, сколько в ней символов получилось. Если 4000 и меньше - то вернет, если больше - ошибку выдаст.


почему?
13 фев 08, 15:32    [5284814]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
Elic
Batsall
в процедуре ... Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
Цифра зависит исключительно только от вместимости пункта назначения

Да, разумеется. Я имел ввиду банальный select.
13 фев 08, 15:35    [5284849]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
for_toad
Batsall
Если объявить переменную как varchar2(32000), запихнуть в нее данных в процедуре и сказать return ее, то все будет зависеть от того, сколько в ней символов получилось. Если 4000 и меньше - то вернет, если больше - ошибку выдаст.


почему?

Потому что селект больше принять не может.
13 фев 08, 15:44    [5284927]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Pir
Member

Откуда: Москва
Сообщений: 872
ограничение sql-типа varchar2 - 4000
pl/sql типа varchar2 - 32k

вам же сразу предложили clob использовать если не хватает
13 фев 08, 15:47    [5284959]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Batsall
Elic
Batsall
в процедуре ... Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
Цифра зависит исключительно только от вместимости пункта назначения

Да, разумеется. Я имел ввиду банальный select.


если в курсоре PL-SQL select, то тоже ошибку даст?
как с этим бороться, если надо больше (это надо для поиска в таблицах)?
Есть вариант записать в таблицу, а потом Dynaset в клиенте, но сложно,
или во временную таблицу?
13 фев 08, 15:48    [5284967]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Elic
Member

Откуда:
Сообщений: 29976
Batsall
Elic
Batsall
в процедуре ... Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
Цифра зависит исключительно только от вместимости пункта назначения
Да, разумеется. Я имел ввиду банальный select.
А теперь помедитируй над выделенным словом И пойми, кто же кого поимел: ты select, или select тебя
13 фев 08, 15:50    [5284992]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Pir
Member

Откуда: Москва
Сообщений: 872
for_toad

если в курсоре PL-SQL select, то тоже ошибку даст?
как с этим бороться, если надо больше (это надо для поиска в таблицах)?
Есть вариант записать в таблицу, а потом Dynaset в клиенте, но сложно,
или во временную таблицу?


ну попробуйте создать таблицу с полями varchar2 больше 4000
13 фев 08, 15:51    [5284997]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Batsall
Member

Откуда: Москва
Сообщений: 360
Elic
Batsall
Elic
Batsall
в процедуре ... Если 4000 и меньше - то вернет, если больше - ошибку выдаст.
Цифра зависит исключительно только от вместимости пункта назначения
Да, разумеется. Я имел ввиду банальный select.
А теперь помедитируй над выделенным словом И пойми, кто же кого поимел: ты select, или select тебя
Помедитировал... в процессе понял, что выделенное слово просто офигительно. Так что тоже поржал будь здоров.
Просто в тот момент, когда писал выделенное слово выдавал пользователю системную привелегию create procedure, которая как известно позволяет создавать и функции, вот и смешались понятия.
13 фев 08, 16:05    [5285107]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Pir
for_toad

если в курсоре PL-SQL select, то тоже ошибку даст?
как с этим бороться, если надо больше (это надо для поиска в таблицах)?
Есть вариант записать в таблицу, а потом Dynaset в клиенте, но сложно,
или во временную таблицу?


ну попробуйте создать таблицу с полями varchar2 больше 4000


это ясно, но надо вернуть клиенту строку >4000, а не поле >4000.
Наверное без врем. таьлицы или CBLOB не обойтись.
13 фев 08, 16:44    [5285440]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Pir
ограничение sql-типа varchar2 - 4000
pl/sql типа varchar2 - 32k

вам же сразу предложили clob использовать если не хватает


у клиента нет обработки CLOB
13 фев 08, 17:07    [5285628]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Ну если никак нельзя CLOB, то порежте результат на много varchar-чиков по 4000.


Люблю галеры - работящий коллектив, романтика мужского труда. Стоишь на мостике в пене брызг и эдак поворотясь:
- Голубчик! Утроить количество ударов - Али-паша уходит...
13 фев 08, 17:50    [5285973]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
for_toad
Member

Откуда:
Сообщений: 17
Pir
ограничение sql-типа varchar2 - 4000
pl/sql типа varchar2 - 32k

вам же сразу предложили clob использовать если не хватает


судя по промежуточным данным хватает, но в процедуре при склеивании строки ошибка
или это только внешнее проявление?
13 фев 08, 18:32    [5286286]     Ответить | Цитировать Сообщить модератору
 Re: из процедуры больше 4000 символов, т.е. не VARCHAR2, но сроку  [new]
Goldminer
Member

Откуда:
Сообщений: 553
for_toad

если в курсоре PL-SQL select, то тоже ошибку даст?

Да. Курсоры относятся к SQL-машине, и ограничения будут соответствующие.
13 фев 08, 18:50    [5286375]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить