【发布时间】:2019-03-07 12:23:37
【问题描述】:
我正在尝试使用我的 .net 应用程序将整个模型插入数据库。我正在使用用户定义的表类型。
这是我的程序和用户定义表;我正在使用 SQL Server 2012。
CREATE TYPE [dbo].[TmpAccessRequest] AS TABLE
(
[RequestId] [int] NULL,
[RequesterID] [int] NULL,
[RequestType] [int] NULL,
[NextApprover] [int] NULL,
[RequestStatus] [varchar](100) NULL,
[Delegation] [int] NULL,
[CreatedOn] [date] NULL,
[CreatedBy] [varchar](100) NULL,
[Description] [varchar](max) NULL,
[IsSepecialRequest] [bit] NULL,
[DelegationDetailID] [int] NULL,
[IsActive] [bit] NULL,
[IsDeleted] [bit] NULL,
[ModifiedOn] [date] NULL
)
GO
CREATE PROCEDURE [dbo].[proc_SaveAccessRequest]
(@TmpAR TmpAccessRequest READONLY,
@IsUAMSRequest BIT,
@RequestID INT OUTPUT)
AS
BEGIN
INSERT INTO tblRequests (RequesterID, RequestType, NextApprover, RequestStatus,
Delegation, CreatedOn, CreatedBy, Description,
IsSepecialRequest, DelegationDetailID, IsActive, IsDeleted, ModifiedOn)
SELECT
RequesterID, RequestType, NextApprover, RequestStatus,
Delegation, CreatedOn, CreatedBy, Description,
IsSepecialRequest, DelegationDetailID, IsActive, IsDeleted, ModifiedOn
FROM
@TmpAR
SET @RequestID = SCOPE_IDENTITY()
--SET @RequestID=IDENT_CURRENT('tblRequests')
SELECT @RequestID
END
我想检查是否不应该同时插入重复数据。那么如何使用用户定义的表类型来做到这一点?
【问题讨论】:
-
这里要考虑哪些列不获取重复数据
标签: sql-server stored-procedures sql-insert user-defined-types check-constraints