Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процедура возвращающая содержимое таблицы. 
V
    Опции темы
cromm3
Дата 11.8.2007, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Всем, привет!)) как можно процедурой вернуть содержимое таблици? То есть ни курсор, ни коллекцию, а именно таблицу… чтоб 
Код

select * from testable
 
возвращалось также 
Код
select gettesttable() from dual
 
Спасибо))

PM   Вверх
LSD
Дата 11.8.2007, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Во втором запросе функция gettesttable() должна вернуть скаляр, а вовсе не таблицу.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
cromm3
Дата 11.8.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Хм)) вообще то да...))) а как тогда вернуть таблицу?
PM   Вверх
Sqlninja
Дата 11.8.2007, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 15.5.2006
Где: San Francisco, CA

Репутация: 13
Всего: 13



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


--------------------
It's better to burn out than to fade away.
PM MAIL WWW ICQ   Вверх
cromm3
Дата 11.8.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Значит нельзя((... эх... в sql server можно вернуть таблицу хранимкой...
PM   Вверх
LSD
Дата 12.8.2007, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



1. не стоит напрямую переносить приемы работы с SQL Server на Oracle, ничего хорошего из этого не выйдет. Тут другая идеалогия.
2. что такого можно сделать в SQL Server, чего нельзя в Oracle? drop или alter этой таблицы можно сделать?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
cromm3
Дата 12.8.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



1)уже осознал, что это действительно так...
2)drop или alter конечно можно)) просто чуть по-другому работают процедуры, вот и всё...

PM   Вверх
DimW
Дата 13.8.2007, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(cromm3 @  11.8.2007,  14:48 Найти цитируемый пост)
как можно процедурой вернуть содержимое таблици?

здесь написано:
http://www.sql.ru/faq/faq_topic.aspx?fid=221
http://www.sql.ru/faq/faq_topic.aspx?fid=537

а лучше сначало понять нужно ли тебе это...!?


Это сообщение отредактировал(а) DimW - 13.8.2007, 06:52
PM MAIL ICQ   Вверх
LSD
Дата 13.8.2007, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



DimW, он же написал:
Цитата(cromm3 @  11.8.2007,  15:48 Найти цитируемый пост)
То есть ни курсор, ни коллекцию, а именно таблицу



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DimW
Дата 13.8.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(LSD @  13.8.2007,  11:52 Найти цитируемый пост)
DimW, он же написал:

Цитата(cromm3 @  11.8.2007,  15:48 )
То есть ни курсор, ни коллекцию, а именно таблицу


имхо то что ему надо и те примеры которые я привел это одни и те же вещи, просто каждый говорит о них по разному ибо
Цитата(LSD @  12.8.2007,  11:52 Найти цитируемый пост)
Тут другая идеалогия.


в итоге все равно нужно получить набор данных, автор поправьте если я не прав.

Цитата(cromm3 @  11.8.2007,  23:41 Найти цитируемый пост)
в sql server можно вернуть таблицу хранимкой... 

что вы имеете ввиду говоря "вернуть таблицу"? вернуть данные из таблицы - это понятно, а вернуть таблицу очень слабо я себе представляю это, ведь таблица это объект БД, во что его вернуть, как потом к нему обращаться?
PM MAIL ICQ   Вверх
LSD
Дата 13.8.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(DimW @  13.8.2007,  15:45 Найти цитируемый пост)
имхо то что ему надо и те примеры которые я привел это одни и те же вещи, просто каждый говорит о них по разному ибо

Думаю он сам лучше знает, что ему нужно smile 
И раз он написал что ни курсор, ни коллекция его не устраивают, то значит как минимум он про эту возможность знает. Понятно, что ему надо как-то по другому проектировать приложение. Но раз он не говорит, что ему надо в итоге получить, то и незачем фантазировать на эту тему. Может там действительно нельзя обойтись курсором или коллекцией.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
cromm3
Дата 13.8.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Цитата

DimW, он же написал:

Цитата(cromm3 @  11.8.2007,  15:48 )
То есть ни курсор, ни коллекцию, а именно таблицу 

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

Цитата(LSD @  12.8.2007,  11:52 ) 
Тут другая идеалогия. 

в итоге все равно нужно получить набор данных, автор поправьте если я не прав.


Да, нужен был именно набор данных… примеры отличные! Спасибо! Очень помогли…

Цитата

Цитата(cromm3 @  11.8.2007,  23:41 ) 
в sql server можно вернуть таблицу хранимкой...  


что вы имеете ввиду говоря "вернуть таблицу"? вернуть данные из таблицы - это понятно, а вернуть таблицу очень слабо я себе представляю это, ведь таблица это объект БД, во что его вернуть, как потом к нему обращаться?


Конечно, вернуть данные, вернуть таблицу как объект - эт дикость какая-то)) хотя интересно))

Добавлено через 3 минуты и 46 секунд
LSD, а там во втором примерчеки именно таблицей возвращается… 

Вообще, на самом деле спасибо)) много познавательного узнал))

PM   Вверх
DimW
Дата 14.8.2007, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(LSD @  13.8.2007,  15:53 Найти цитируемый пост)
И раз он написал что ни курсор, ни коллекция его не устраивают


LSD, я незнаю ни одного способа выполнения DML, select, при котором не формировался бы курсор. По этому с этим все ясно: 
Цитата(cromm3 @  11.8.2007,  14:48 Найти цитируемый пост)
как можно процедурой вернуть содержимое таблици?

а вот эта часть вопроса:

Цитата(cromm3 @  11.8.2007,  14:48 Найти цитируемый пост)
То есть ни курсор, ни коллекцию, а именно таблицу

делает выполнение задачи невозможной.



Цитата(cromm3 @  13.8.2007,  15:56 Найти цитируемый пост)
Да, нужен был именно набор данных… примеры отличные! Спасибо! Очень помогли…
 Пожалуйста, заходите еще, а то последнее время скучновато стало в этой ветке :(


PM MAIL ICQ   Вверх
LSD
Дата 15.8.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(cromm3 @  13.8.2007,  16:56 Найти цитируемый пост)
LSD, а там во втором примерчеки именно таблицей возвращается…

Это не таблица.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
cromm3
Дата 15.8.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Цитата

Это не таблица. 


а как это по научному, называется? Просто, я реально слаб в терминологии... ))
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

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

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.