Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
titans Member Откуда: Сообщений: 73 |
Всем привет. Подскажите, можно ли сделать примерно такую вещь: create procedure ShowTest @name nvarchar (255) as Select name1 if (@name!='null') begin ,name2 end From Table1 Т.е. у меня есть процедура, которая принимает некий параметр. если он не null то добавляется второй столбец, если есть значение, то один столбик. Проблема в том, что компилятор ругается на такую запись. А можно как-то это исправить? |
10 дек 12, 20:38 [13609408] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31816 |
|
||
10 дек 12, 20:45 [13609430] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
create procedure ShowTest @name nvarchar (255) as Select name1 if (@name!='null') begin ,name2 end From Table1 Я про SRC не знал |
10 дек 12, 21:04 [13609476] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
Либо всегда возвращайте 2 стоблца, просто в одном из случаев там будут значения NULL, либо пишите IF |
||
10 дек 12, 21:11 [13609489] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
А если так: Взять в переменную собрать необходимый запрос (с двумя столбиками, или с одним) а потом передать в другую процедуру, что-то вроде такого:create procedure ShowTest @name nvarchar (255) as Select @name --@name=' column from Table' |
10 дек 12, 21:40 [13609574] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31816 |
В общем это плохо по разным причинам, как и вообще желание менять столбики в запросах. Но если действительно нужно (например, для какого нибуть внешнего сервера отчётов), то такой вариант практически единственный. Можно ещё, как уже написали, делать разные варианты запросов через IF, если этих вариантов немного. |
||
10 дек 12, 21:56 [13609636] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |