Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Можно ли в процедуре отделять столбик  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в процедуре отделять столбик  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31816
titans
А можно как-то это исправить?
Вы бы это, тег SRC использовали, читать же невозможно. Чем вам так нравится уменьшенный шрифт?
10 дек 12, 20:45    [13609430]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в процедуре отделять столбик  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в процедуре отделять столбик  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
titans
роблема в том, что компилятор ругается на такую запись. А можно как-то это исправить?
Нет, компилятор исправить нельзя, он все равно будет ругаться, потому что такой запрос недопустим.
Либо всегда возвращайте 2 стоблца, просто в одном из случаев там будут значения NULL, либо пишите IF
10 дек 12, 21:11    [13609489]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в процедуре отделять столбик  [new]
titans
Member

Откуда:
Сообщений: 73
А если так: Взять в переменную собрать необходимый запрос (с двумя столбиками, или с одним) а потом передать в другую процедуру, что-то вроде такого:
create procedure ShowTest
@name nvarchar (255) as
Select @name --@name=' column from Table'
10 дек 12, 21:40    [13609574]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли в процедуре отделять столбик  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31816
titans
А если так: Взять в переменную собрать необходимый запрос (с двумя столбиками, или с одним) а потом передать в другую процедуру, что-то вроде такого:
create procedure ShowTest
@name nvarchar (255) as
Select @name --@name=' column from Table'
Передать можно, выполнять придётся динамическим SQL

В общем это плохо по разным причинам, как и вообще желание менять столбики в запросах. Но если действительно нужно (например, для какого нибуть внешнего сервера отчётов), то такой вариант практически единственный.

Можно ещё, как уже написали, делать разные варианты запросов через IF, если этих вариантов немного.
10 дек 12, 21:56    [13609636]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить