在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)

结束

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

尝试以下修改后的代码:



try below modified code :

alter procedure [dbo].[sp_InsertBankName]
(
    @bankname as varchar(50)
    ,@banknamea as nvarchar(50)
)
as
begin
    declare @bankid as varchar(10)
    declare @bCount as int

    select @bCount = count(bankname) from bankname where bankname = @bankname

    if @bCount = 0
    begin
        select @bankid=isnull(max(convert(int,bankid)),0)+1 from bankname
        insert into bankname
        (bankid,bankname,banknamea)
        values (@bankid,@bankname,@banknamea)
    end
end


在您的表bankname中生成 BankId Primarykey Autoincreament

In your table bankname Make BankId Primarykey and Autoincreament
ALTER procedure [dbo].[sp_BankName]
 (
 @BankId as int,
 @bankname as varchar(50),
 @banknamea as nvarchar(50)
 )
 as
 begin

    if exists(select * from bankname where bankid=@BankId) 
    begin
        insert into bankname(bankname,banknamea)
                    values (@bankname,@banknamea)
    end
    else
    begin
        Update bankname set bankname=@bankname, banknamea=@banknamea where bankid=@bankid
    end
end



而新记录传递bankid 0 当更新传递值
> bankid 记录您正在更新

快乐编码!

:)


in code,
while new record pass bankid 0 it will insert record
when update pass value of bankid which record you are updating
Happy Coding!
:)


嗨...



首先从该t中选择所有记录现在你将比较数据集中的特定字段(基于用户名或密码的方式),当点击插入按钮时 - 如果该记录存​​在则显示错误,否则显示错误插入cmd是执行。

在这种情况下,重复的值会被条件消除。



谢谢你
Hi...

First select all records from that table, put into a datatable or dataset.
Now u will compare a particular field(means based on-username or password) from dataset,when click insert button - if that record is exists display an errmsg otherwise insert cmd is excute.
In this case duplicate values are eliminated by condition.

thank u