This is a simple example which shows how to create a data type and how it can be used to pass an array of data as an input parameter to a stored procedure.
create table Customer
(
CustomerId int identity(1,1) primary key,
CustomerCode nchar(3),
CustomerName nvarchar(50)
)
go
if type_id(‘udt_Customer’) is not null
drop type udt_Customer;
create type udt_Customer as table
(
CustomerCode nchar(3),
CustomerName nvarchar(50)
);
go
create procedure proc_CustomerInsert
(
@customer udt_Customer readonly
)
as
begin
insert Customer (CustomerCode,CustomerName)
select CustomerCode,CustomerName
from @customer
select * from Customer
end
go
———
declare @customer udt_Customer
insert @customer(CustomerCode,CustomerName)
select ‘001’,’Ethan Hunt’
union
select ‘002’,’James Bond’
exec proc_CustomerInsert @customer
go