2016-12-16 2 views
-1

Я хочу, чтобы хранимая процедура отображала все столбцы, но я бы выбрал имя таблицы внешне, как EXEC spDisplay 'tblName'. Я хочу, чтобы имя таблицы в качестве выходного параметра ... Как я могу это сделать?Как получить все столбцы таблицы, тогда как TableName является выходным параметром?

ответ

1

Использование динамического SQL, как показано ниже ..

create proc spDisplay 
@TableName as varchar(100) 
as 
Begin 
    exec('select top 10 * from '[email protected]) 
End 
+0

Работал спасибо ..... –

1

Ниже SP, он будет принимать ИмяТаблицы в качестве входного параметра.

CREATE PROCEDURE MySp 
@TableName VARCHAR(MAX) 
AS 
BEGIN 

DECLARE @Sql VARCHAR(MAX) 

SET @Sql = 'SELECT * FROM ' + @TableName 

EXEC(@Sql) 

END 

Ниже приводится запрос для выполнения выше Sp, здесь эй мое имя таблицы

EXEC MySp 'EMP'

+0

Работали спасибо ..... –