Я собираюсь создать разные временные таблицы в зависимости от получаемого параметра @selection, а затем я хочу вернуть созданную мной таблицу.
Я действительно хотел сделать это с помощью функции, но яполучил ошибку для переменных таблиц параметров. Процедура sql, которую я написал, выглядит следующим образом:
ALTER PROCEDURE [dbo].[Report]
(@Id BIGINT = 55,
@selection INT)
AS
BEGIN
IF @selection=1
BEGIN
Declare @tep_table table (Id int
,Name varchar(250)
,CreateTime datetime
,UpdateTime datetime
,UpdatedBy varchar(250)
,Deleted bit
)
Insert into @tep_table
Select * from User
END
IF @selection=1
BEGIN
Declare @tep_table2 table (Id int
,CreateTime datetime
,UpdateTime datetime
,UpdatedBy varchar(250)
,Deleted bit
)
Insert into @tep_table2
Select * from Client
END
IF @selection=1
BEGIN
RETURN @tep_table
END
ELSE
BEGIN
RETURN @tep_table2
END
END
Я получаю эту ошибку:
Необходимо объявить скалярную переменную "@tep_table"