如何在sql中编写代码以避免在插入时出现重复记录 [英] How to write code in sql to avoid duplicate records while inserting

查看:97
本文介绍了如何在sql中编写代码以避免在插入时出现重复记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不太了解sql所以请帮助我,我需要在sql中插入表时避免重复记录







以下是我的代码







ALTER程序[dbo]。[sp_InsertBankName]


@bankname as varchar(50)

,@ banknamea as nvarchar(50)



as

开始

声明@bankid为varchar(10)

select @ bankid = isnull(max(convert(int,bankid)),0)+1来自bankname

插入到bankname

(bankid,bankname,banknamea)

值(@ bankid,@ bankname,@ banknamea)

end

解决方案

bankname

BankId 设为 PrimaryKey AutoIncreament



然后写查询...

  ALTER   procedure  [dbo]。[sp_InsertBankN ame] 

@ bankname as varchar 50
@ banknamea as nvarchar 50

as
begin
插入 bankname(bankname,banknamea)
@ bankname @ banknamea
结束



快乐编码!

:)


  ALTER   procedure  [dbo]。[sp_InsertBankName] 

@ bankname as varchar 50
@ banknamea as nvarchar 50

as
开始
IF EXISTS SELECT bankid FROM bankname WHERE BankName = bankname)
AS BEGIN
< ; return any = message = >
END
ELSE
BEGIN
声明 @ bankid as varchar 10
选择 @ bankid = isnull(max( convert int ,bankid)) , 0 )+ 1 来自 bankname
insert into bankname
(bankid,bankname,banknamea)
@ bankid @ bankname @ banknamea
END
end< / return>


u ca尝试类似的东西



  DECLARE   @ Count   int  

SELECT < span class =code-sdkkeyword> @ Count = Count(AutoID) FROM UserTable WHERE UserName = @ userName

IF @Count = 0

BEGIN

INSERT INTO UserTable(UserName) VALUES @ userName

END


Hi, I am a not much aware of sql so please help me ,I need to avoid duplicate records while inserting a table in sql



Here is my code below



ALTER procedure [dbo].[sp_InsertBankName]
(
@bankname as varchar(50)
,@banknamea as nvarchar(50)
)
as
begin
declare @bankid as varchar(10)
select @bankid=isnull(max(convert(int,bankid)),0)+1 from bankname
insert into bankname
(bankid,bankname,banknamea)
values (@bankid,@bankname,@banknamea)
end

解决方案

In Table bankname ,
set BankId as PrimaryKey And AutoIncreament

then write query...

ALTER procedure [dbo].[sp_InsertBankName]
 (
 @bankname as varchar(50)
 ,@banknamea as nvarchar(50)
 )
 as
 begin
     insert into bankname (bankname,banknamea)
                    values(@bankname,@banknamea)
 end


Happy Coding!
:)


ALTER procedure [dbo].[sp_InsertBankName]
(
@bankname as varchar(50)
,@banknamea as nvarchar(50)
)
as
begin
IF EXISTS(SELECT bankid FROM bankname WHERE BankName=bankname )
AS BEGIN
<return any="" message="">
END
ELSE
BEGIN
declare @bankid as varchar(10)
select @bankid=isnull(max(convert(int,bankid)),0)+1 from bankname
insert into bankname
(bankid,bankname,banknamea)
values (@bankid,@bankname,@banknamea)
END
end</return>


u can try something similar to this

DECLARE @Count int

	SELECT @Count = Count(AutoID) FROM UserTable WHERE UserName = @userName

	IF @Count = 0

		BEGIN

			INSERT INTO UserTable (UserName) VALUES (@userName)

		END


这篇关于如何在sql中编写代码以避免在插入时出现重复记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆