|
udf с if: для 'returns table as return', для 'returns @Ret table.. Insert @Ret' ...
|
|||
---|---|---|---|
#18+
всем привет (mssql server 2000) подскажите пожалуйста использую в системе свои UDF двух типов 1. возврат произвольного количества колонок из конструкции типа returns table as return Select... (нет возможности использовать условия по if) 2. возврат фиксированного количества колонок из конструкции типа returns @Ret table(..) Insert @Ret Select...' (есть возможность использовать условия по if) вопрос такой мне нужна UDF которая по условию из параметра вернет разные по количеству наборы данных (можно ли замешать эти две формы функций в одну или нельзя или есть другой подход) например Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
фактически мне нужно отдать несколько ключевых колонок + дополнительные колонки (в зависимости от условий), т.е. получить динамический по ширине набор данных - который дальше я разберу в другой системе и покажу юзеру ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 10:18 |
|
udf с if: для 'returns table as return', для 'returns @Ret table.. Insert @Ret' ...
|
|||
---|---|---|---|
#18+
ef1, Код: sql 1. 2. 3. 4. 5.
Смысл Returns table as не в том, что такая функция "возвращает разное количество колонок", как раз такое использование плохое с точки зрения архитектуры, а в том что они встраивается в запросы и не ограничивает параллелизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 10:37 |
|
udf с if: для 'returns table as return', для 'returns @Ret table.. Insert @Ret' ...
|
|||
---|---|---|---|
#18+
ef1 получить динамический по ширине набор данных ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 10:41 |
|
udf с if: для 'returns table as return', для 'returns @Ret table.. Insert @Ret' ...
|
|||
---|---|---|---|
#18+
ок, спасибо! тему закрываем ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 10:52 |
|
udf с if: для 'returns table as return', для 'returns @Ret table.. Insert @Ret' ...
|
|||
---|---|---|---|
#18+
ps сделал inline udf (по второму варианту) с возвратом фиксированного (максимального) количества колонок типа sql_variant (по условию использую разные запросы (или в одном как посоветовал Владислав Колосов), добивая пустыми данными до нужного количества колонок) а на стороне потребителя (в отчете) по тем же условиям конвертируюсь в нужные типы данных! )) pps видимо температура на улице влияет )) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2021, 14:22 |
|
|
start [/forum/topic.php?fid=46&fpage=21&tid=1684570]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 150ms |
0 / 0 |