Мне нужно создать таблицу на лету в программе C # .net. Задача - экспортировать файл Excel в базу данных SQL. Как написать процедуру хранения для создания таблицы, если имя столбца и имя таблицы передаются в качестве параметров? Я пытался написать следующий SP.
ALTER PROCEDURE dbo.CreateTempTable
@Param1 VarChar(50),
@Param2 VarChar(50),
@Param3 VarChar(50),
@Param4 VarChar(50)
AS
if exists(select * from sys.objects where object_id = OBJECT_ID('[dbo].[Temp]') AND type='U')
begin
Drop Table [dbo].[Temp]
end
Create Table [dbo].[Temp]([@CountryID] [int],
[@Param1] [VarChar](150),
[@Param2] [DateTime],
[@Param3] [VarChar](50),
[@Param4] [VarChar](50));
RETURN
При выполнении, если я даю ввод как
@Param1 - 'CountryId'
@Param2 - 'CountryName'
@Param3 - 'CreateDate'
@Param4 - 'CreatedBy'
Столбец, созданный как @ Param1, @ Param2, @ Param3, @ Param4 вместо CountryId ... и т. Д.