Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2012, 03:03   #1
xJohnx
Пользователь
 
Регистрация: 19.04.2010
Сообщений: 80
По умолчанию Функции Sql*Plus

Есть две переменные в одной значение 2 в другой 5. Нужно вывести с помощью фунции всех сотрудников определенной таблицы( это не столь важно). Входящий в диапазон от первой переменной до другой
Без курсоров
Пример: есть таблица
Код ФИО Город
1 Вася Киев
2 Петя Харьков
3 Женя Днепр
4 Иван Крым
5 Дима Херсон
6 Семен Питер

Результат:
2 Петя
3 Женя
4 Иван
5 Дима
xJohnx вне форума Ответить с цитированием
Старый 12.05.2012, 07:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
CREATE TYPE peoples AS OBJECT(
  Фамилии VARCHAR(50)
)
/
CREATE TYPE  Dudes AS TABLE OF peoples 

CREATE OR REPLACE FUNCTION Отобрать(First VARCHAR2, Second VARCHAR2) RETURN Dudes AS
 res Dudes :=Dudes ();
BEGIN
SELECT cast(multiset(
 SELECT fio FROM Таблица WHERE	 fio in (First,Second)
) AS Dudes )
INTO res
FROM dual;

 RETURN res;
END;
И уточни задачу. Непонятно что какого типа, и какая вторая таблица.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2012, 09:52   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

where Код >= perem1 and Код <= perem2

Последний раз редактировалось =master=; 12.05.2012 в 19:14.
=master= вне форума Ответить с цитированием
Старый 12.05.2012, 18:45   #4
xJohnx
Пользователь
 
Регистрация: 19.04.2010
Сообщений: 80
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
CREATE TYPE peoples AS OBJECT(
  Фамилии VARCHAR(50)
)
/
CREATE TYPE  Dudes AS TABLE OF peoples 

CREATE OR REPLACE FUNCTION Отобрать(First VARCHAR2, Second VARCHAR2) RETURN Dudes AS
 res Dudes :=Dudes ();
BEGIN
SELECT cast(multiset(
 SELECT fio FROM Таблица WHERE	 fio in (First,Second)
) AS Dudes )
INTO res
FROM dual;

 RETURN res;
END;
И уточни задачу. Непонятно что какого типа, и какая вторая таблица.
Есть только одна таблица, уточняю!

Нужно вывести запросом с помощью функции поля код и фио входящий в диапазон значений переменных типа интереджер.
xJohnx вне форума Ответить с цитированием
Старый 12.05.2012, 20:41   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
уточняю!
В каком месте ты уточняешь?
Цитата:
код и фио
Не вопрос: Добавь их в тип peoples и в запрос.
Цитата:
входящий в диапазон значений переменных типа интереджер.
Вот тут нужно было уточнять. Какие еще переменные? Откуда взялись? если их две и диапазон между ними то вот Мастер тебе написал условие, если они представляют список то это совсем другое.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование SQL функции в VBA Abdukhafiz Microsoft Office Excel 9 17.04.2012 13:18
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Создание функции Агрегации в MS-SQL Lader SQL, базы данных 7 07.06.2011 00:01
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
dll содержащая функции выполнения sql запросов jb_007 Помощь студентам 10 13.05.2009 13:39