Я получу массив как (идентификатор, имя, адрес электронной почты) из интерфейса.Как я должен обработать это в SP для вставки этих данных в таблицу?

#sql #sql-server

#sql #sql-server

Вопрос:

Я хочу вставить данные в профиль таблицы (идентификатор, имя, адрес электронной почты).Как я должен обработать это в SP?

Я буду получать массив как (1, rahul,rahul@gmail.com ),(2, рохит,rohit@gmail.com ).

Комментарии:

1. Какая версия SQL Server (2008,2012 и т.д.)

Ответ №1:

Вы можете использовать определенный пользователем тип таблицы. Что-то вроде этого:

 CREATE TYPE [dbo].[ttUsers] AS TABLE(
    [id] [int] NOT NULL,
    [name] varchar(200) NOT NULL,
    [email] varchar(200) NOT NULL
)
GO

CREATE PROCEDURE dbo.InsertUsers(@Users [dbo].[ttDocumentFacilities] READONLY)
AS
BEGIN
    INSERT Users (id, name, email)
    SELECT id, name, email
    FROM @Users;
END


var dataTable = new DataTable();
dataTable.Columns.Add("id");
dataTable.Columns.Add("name");
dataTable.Columns.Add("email");

var users = new SqlParameter("@Users", SqlDbType.Structured)
{
    Value = PopulateTableRows(ids, dataTable),
    TypeName = "dbo.[ttUsers]"
};
 

Обратите внимание, что я не реализовал все методы, но должен дать вам представление о том, как это сделать

Комментарии:

1. спасибо, позвольте мне попробовать это