#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. спасибо, позвольте мне попробовать это