powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / t-SQL, создание функции возвращающей таблицу в зависимости от параметра
21 сообщений из 21, страница 1 из 1
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456422
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

хочу создать функцию аля

CREATE FUNCTION dbo.testf (@x int)
RETURNS TABLE
AS
RETURN
(
IF @X=1
SELECT * FROM T1
IF @X=2
SELECT * FROM T2
);


возможно ли такое? если да, то как?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456424
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если структура обоих резалтсетов одинакова, то можно. BOL->Multistatement Table-valued Functions
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456427
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10s, например

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION dbo.testf (@x int)
RETURNS TABLE
AS
RETURN
(	
SELECT a FROM T1 WHERE @x = 1
UNION ALL
SELECT a FROM T2 WHERE @x = 2
);
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456429
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЕсли структура обоих резалтсетов одинакова, то можно. BOL->Multistatement Table-valued Functions

структура результата будет разной :(
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456430
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION dbo.testf (@x int)
RETURNS TABLE
AS
RETURN
( 
	SELECT * FROM T1 WHERE @X = 1
    UNION ALL
	SELECT * FROM T2 WHERE @X = 2
)
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456441
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sструктура результата будет разной :(
Мда... тогда давайте с самого начала, для чего это нужно, и почему вы выбрали именно такой способ решения вашей задачи?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456442
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION dbo.testf (@x int)
RETURNS TABLE
AS
RETURN
( 
	SELECT * FROM T1 WHERE @X = 1
    UNION ALL
	SELECT * FROM T2 WHERE @X = 2
)



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

юнион же подходит только для одинакого кол-ва полей...
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456446
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333b10sструктура результата будет разной :(
Мда... тогда давайте с самого начала, для чего это нужно, и почему вы выбрали именно такой способ решения вашей задачи?

тут нужно абстрагироваться :) причину я объяснить не могу. задача поступила как есть - в зависимости от условия будет выбираться разное кол-во полей с разных источников
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456447
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sтакие варианты тоже не канают, т.к. в зависимости от условия нужно сделать абсолютно разные выборки

И зачем тогда одна функция?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456451
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sзадача поступила как есть - в зависимости от условия будет выбираться разное кол-во полей с разных источников
Что ? Задача так и звучит - при выборке из _одного_ объекта должны получаться _два_ разных по структурк результата ?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456454
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinb10sтакие варианты тоже не канают, т.к. в зависимости от условия нужно сделать абсолютно разные выборки

И зачем тогда одна функция?

не могу дать ответ на вопрос - зачем, почему именно так и что это вообще. есть задача.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456455
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gloryb10sзадача поступила как есть - в зависимости от условия будет выбираться разное кол-во полей с разных источников
Что ? Задача так и звучит - при выборке из _одного_ объекта должны получаться _два_ разных по структурк результата ?

Чуть внимательнее - объекты тоже могут быть разными.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456459
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sЧуть внимательнее - объекты тоже могут быть разными.
Почему тогда вы хотите создать _одну_ функцию ?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456462
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gloryb10sЧуть внимательнее - объекты тоже могут быть разными.
Почему тогда вы хотите создать _одну_ функцию ?
извините, но я выше дважды ответил на ваш вопрос.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456463
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sесть задача.

Какая задача? Создать одну функцию, делающую произвольную выборку из произвольного объекта?
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456466
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sGloryпропущено...

Почему тогда вы хотите создать _одну_ функцию ?
извините, но я выше дважды ответил на ваш вопрос.
Тогда вы читайте внимательно вопрос
Задача в которой запрос к _одному_ объекту должен возвращать два различных результата - это бред
Либо постановщик задачи профан, либо вы.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456467
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinb10sесть задача.

Какая задача? Создать одну функцию, делающую произвольную выборку из произвольного объекта?

не кажется ли вам, что мы вернулись к топику? ;)
внимательнее, господа!

Модератор: Когда соберетесь с мыслями и будете готовы отвечать на вопросы - приходите.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456468
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10s,

Задача, в сформулированном вами виде, не имеет решения. Структура столбцов, выдаваемых табличной функцией (хоть inline, хоть multi-statement), фиксирована и не может варьироваться в зависимости от каких-либо условий. Так же, как не может варьироваться в зависимости от условий состав столбцов таблицы или представления.

Выполните запрос
Код: sql
1.
select * from sys.columns where object_id = object_id('ИмяТабличнойФункции')

, и это станет очевидно.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456472
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sGloryЗадача так и звучит - при выборке из _одного_ объекта должны получаться _два_ разных по структурк результата ?

Чуть внимательнее - объекты тоже могут быть разными.
В данном случае "один объект" — это желаемая вами функция.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456473
b10s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gloryb10sпропущено...

извините, но я выше дважды ответил на ваш вопрос.
Тогда вы читайте внимательно вопрос
Задача в которой запрос к _одному_ объекту должен возвращать два различных результата - это бред
Либо постановщик задачи профан, либо вы.

ок. выяснять уровень профессионализма, я вижу, вы любитель. тут я не буду оспаривать ваш вывод.

теперь давайте сделаем вывод по решению задачи. у меня не получается.
...
Рейтинг: 0 / 0
t-SQL, создание функции возвращающей таблицу в зависимости от параметра
    #38456475
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b10sтеперь давайте сделаем вывод по решению задачи. у меня не получается
Дурацкие задачи не имеют решения.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / t-SQL, создание функции возвращающей таблицу в зависимости от параметра
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]