Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужно сделать запрос, а имя таблицы передать как параметр  [new]
alm2
Member

Откуда: Самара
Сообщений: 232
Нужно сделать запрос, а имя таблицы передать как параметр

Пробовал, но не получается

declare @@nkab nvarchar(4)
set @@nkab='k319'
select * from @@nkab



Пробовал, но не получается

declare @@nkab table

А здесь не проходит !!!
set @@nkab='k319'

select * from @@nkab
1 дек 17, 09:58    [20997426]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать запрос, а имя таблицы передать как параметр  [new]
04cf9f9576a6f15
Member [заблокирован]

Откуда:
Сообщений: 2927
https://habrahabr.ru/post/272807/

DECLARE @sql varchar(1000)
DECLARE @columnList varchar(75)
DECLARE @city varchar(75)
SET @columnList = 'CustomerID, ContactName, City'
SET @city = 'London'
SELECT @sql = ' SELECT CustomerID, ContactName, City ' +
              ' FROM dbo.customers WHERE 1 = 1 '
   SELECT @sql = @sql + ' AND City LIKE ''' + @city + ''''
EXEC (@sql)


#Хэш=
1 дек 17, 10:04    [20997440]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать запрос, а имя таблицы передать как параметр  [new]
iiyama
Member

Откуда:
Сообщений: 642
alm2,
С пятницей
IF @@nkab='k319'
	select * from K319
ELSE IF @@nkab='k320'
	select * from K320

еще
create view k319_k320
as 
select *, 'k319' as Fltr from K319
union
select *, 'k320' as Fltr from K320
go

select * 
from k319_k320
where Fltr=@@nkab
1 дек 17, 11:58    [20997896]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать запрос, а имя таблицы передать как параметр  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
select *, 'k319' as Fltr from K319
union
select *, 'k320' as Fltr from K320


АСТАНАВИТЕСЬ!
1 дек 17, 12:01    [20997907]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать запрос, а имя таблицы передать как параметр  [new]
iiyama
Member

Откуда:
Сообщений: 642
Cammomile,
сегодня же пятница, никто даже Faq не смотрит
Два вопроса в топе и оба там есть, все сразу постят.
Значит хочется общения, а не решения задачи
1 дек 17, 12:12    [20997936]     Ответить | Цитировать Сообщить модератору
 Re: Нужно сделать запрос, а имя таблицы передать как параметр  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Тогда, имею предложить мощное универсальное решение!

DECLARE @Request TABLE (TableName nvarchar(200), Query nvarchar(max) ) 
INSERT INTO @Request SELECT 'sys.all_views', 'select * from   sys.all_views'
INSERT INTO @Request SELECT 'sys.all_columns', 'select * from   sys.all_columns'

DECLARE @Q nvarchar(max) 

DECLARE @TableName nvarchar(200) = 'sys.all_columns'

SET @Q =  (SELECT Query FROM @Request WHERE TableName = @TableName) 


EXECUTE(@Q) 
1 дек 17, 14:23    [20998410]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить