我有sql server程序,请看下面。

ALTER PROCEDURE [dbo].[uspInsertDelegate]
(
    @CourseID int,
    @CPUserID int,
    @StatusID int,
    @CreateUser varchar(25)

)
AS
    SET NOCOUNT OFF;
INSERT INTO tblDelegate
(
    CourseID,
    CPUserID,
    StatusID,
    CreateUser

)
VALUES
(
    @CourseID,
    @CPUserID,
    @StatusID,
    @CreateUser
)

RETURN

现在我不想插入表 tblDelegate 如果插入 courseid cpuserid 与表 tblDelegate 中的记录相同

最佳答案

先简单测试一下。在 SQL Server 2005 中,您还可以 TRY/CATCH 忽略重复错误。

IF NOT EXISTS (SELECT *
        FROM tblDelegate
        WHERE CourseID = @CourseID etc)
    INSERT INTO tblDelegate
    (
        CourseID,
        CPUserID,
        StatusID,
        CreateUser

    )
    VALUES
    (
        @CourseID,
        @CPUserID,
        @StatusID,
        @CreateUser
    )

请问:您是说“SET NOCOUNT ON”吗?

关于sql - 如果记录已存在,则停止在表中插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1388235/

10-11 01:37