Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
В базе MS SQL есть хранимка, в ней такой код:
Проблема в том, что когда в getMyFunc меняют запрос, приходится и в эту хранимку добавлять поля. Добавлять только для того, что бы insert не ругался на отсутствие полей. Вопрос - можно как то в insert-е указать список полей? Или, сделать select [список полей] from EXEC? |
Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Т.е. надо что то типа:
|
Re: Синтаксис ms sql | |
---|---|
cool1 Сообщений: 316 Дата регистрации: 06.03.2016 |
getMyFunc - это процедура?
если да, то сделай из нее функцию, и exec будет не нужен Исправлено 1 раз(а). Последнее : cool1, 22.11.18 17:58 |
Re: Синтаксис ms sql | |
---|---|
cool1 Сообщений: 316 Дата регистрации: 06.03.2016 |
|
Re: Синтаксис ms sql | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ну напрашивается, отдать создание временной таблицы, в getMyFunc. Не будет видна из хранимки? По примеру не ясно, нужно ли это? Задай вопрос на профильном форуме www.sql.ru , там тебе правильнее ответят. (Ох и получишь люлей)))) |
Re: Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Да. А без функции, только изменив getMyFunc ни как нельзя? |
Re: Синтаксис ms sql | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Не ясно что надо в итоге. Предложенный подход с табличной функцией, вернет 1 запись, нужна ли она? Кусок задачи, с непонятным подходом к решению. И в общем случае, если getMyFunc возвращает больше 1й записи, табличная функция, вообще ни при чем. Да и вообще, не пойму чем она может помочь, ведь проблема в перечислении полей? Напрашивается только динамика. |
Re: Синтаксис ms sql | |
---|---|
Гулин Федор Сообщений: 4640 Откуда: Минск Дата регистрации: 24.10.2002 |
зы я тоже не до конца понял задачи
динам. скл - возможно - но лучше избегать |
Re: Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Попробую описать иначе. Есть Exec, возвращающий таблицу. Есть код:
В таблице #employees должны быть все поля, которые возвращаются в exec. Хотелось бы так:
Ругается "нужны ещё поля". |
Re: Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
getMyFunc - явно не удачное название для ПРОЦЕДУРы, простите, что запутал.
Так понимаю, что это не возможно, и надо уходить от процедуры. Исправлено 1 раз(а). Последнее : S-type, 26.11.18 18:03 |
Re: Синтаксис ms sql | |
---|---|
Рома Сообщений: 1079 Дата регистрации: 06.06.2001 |
Из документации
Цитата:
|
Re: Синтаксис ms sql | |
---|---|
Владимир Максимов Сообщений: 14097 Откуда: Москва Дата регистрации: 02.09.2000 |
Добавь в свою процедуру еще один параметр 0/1, при значении 1 чтобы он возвращал только фиксированный набор полей. Просто
|
Re: Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Именно, что "список полей, возвращаемый процедурой". Когда процедуру меняют, она начинает возвращать всё больше и больше полей, и этот список приходится менять и в вызывающей процедуре. А хотелось бы указать
Но, так нельзя, ругается. Придётся через функцию. |
Re: Синтаксис ms sql | |
---|---|
S-type Автор Сообщений: 2969 Дата регистрации: 24.04.2004 |
Хороший вариант! Спасибо за подсказку. Исправлено 1 раз(а). Последнее : S-type, 30.11.18 10:23 |
© 2000-2024 Fox Club  |