-
Notifications
You must be signed in to change notification settings - Fork 0
/
usp_Product_Insert.sql
43 lines (36 loc) · 986 Bytes
/
usp_Product_Insert.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
create TYPE udt_ProductInfo_Insert as table
(
productCode int,
productName nvarchar(60) ,
productDescription nvarchar(260),
unitPrice money ,
category_Ref int
)
GO
alter PROCEDURE dbo.usp_Product_Insert
(@productInfo_Insert as dbo.udt_ProductInfo_Insert Readonly
)
AS
begin tran
begin try
declare @category_ref int
select @category_ref=category_Ref from @productInfo_Insert
if @category_ref in (select Id from ProductCategory)
begin
insert into Product(ProductCode,ProductName,ProductDescription,UnitPrice,Category_Ref)
select productCode,productName,productDescription ,unitPrice ,category_Ref from @productInfo_Insert
end
else
begin
raiserror('there is no CategoryCode for this product',16,1)
end
commit tran
end try
begin catch
rollback
end catch
go
Declare @List as dbo.udt_ProductInfo_Insert
INSERT INTO @List VALUES (709, 'Nike','White',2000000,59)
exec dbo.usp_Product_Insert @productInfo_Insert = @List
select * from Product