在sql中插入表时避免重复记录 [英] avoid duplicate records while inserting a table in 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
这篇关于在sql中插入表时避免重复记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!