【发布时间】:2014-11-28 19:57:06
【问题描述】:
我将数据表作为输入参数传递给存储过程。我已经为它创建了自定义类型。
这是我的存储过程:
CREATE PROCEDURE [dbo].[Proc_AddEmployee]
@tblEmp EmpType READONLY,
@Code int
AS
BEGIN
INSERT INTO Employee ([Name], [Lname], [Code])
SELECT
[Name], [Lname], @Code
FROM @tblEmp
这里它从数据表中获取记录并插入到Employee表中。
表 Employee 具有主键(Name 和 Lname 的组合)。
表Employee:
Nmae LName Code
Rashmi Hirve 89
Rani Mohite 7
数据表:
Nmae LName
Rani Mohite
Swati More
Reshma Gawade
当我尝试将记录 (Rani, Mohite) 从数据表添加到表 Employee 时出现问题。
它在第一个记录时导致主键错误,并且不会继续进行。
如果出现错误,我想要这样,跳过该记录获取下一条记录并插入该记录。有 8000 条记录,我想将它们从数据表传递到 Employee 表。
如果我勾选不存在,那么insert执行查询需要很长时间。如何处理?
【问题讨论】:
标签: sql asp.net sql-server