Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách Insert nào dưới đây là ổn?

17:54 04-10-2021 763 lượt xem 1 bình luận 11:48 05-10-2021

Mình muốn Insert một Record nếu nó chưa tồn tại, và có khá nhiều cách bên dưới, mình nên chọn cách nào nhỉ?

1.

CREATE TABLE #EMP (EmpID INT IDENTITY(1,1),EmpName VARCHAR(100),Designation VARCHAR(10))
    INSERT INTO #EMP(EmpName, Designation)
    VALUES('Ramesh','Teamlead')
    ,('Suresh','Manager')

2.

DECLARE @EmpID INT
SELECT @EmpID = EmpID
FROM #EMP WHERE EmpName = 'Ramesh' AND Designation = 'Teamlead'
IF @@ROWCOUNT = 0
    INSERT INTO #EMP(EmpName, Designation)
    VALUES('Ramesh','Teamlead')

3.

IF NOT EXISTS(
    SELECT NULL FROM #EMP 
    WHERE EmpName = 'Ramesh' AND Designation = 'Teamlead'
    )
BEGIN
 INSERT INTO #EMP(EmpName, Designation)
 VALUES('Ramesh','Teamlead')
    ,('Suresh','Manager')
END

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
VoTanDuc đã bình luận 17:59 04-10-2021
Theo mình nghĩ thì bạn nên dùng cách 1 cho nó nhanh, gọn, lẹ

Câu hỏi mới nhất