表A ,2个字段ID,Name
我做insert操做,打开事务,在A表中查询name是否和传入的@name参数一样,相同的话返回一个值,页面上需要报错,即表A的name不能有一样的。没有一样的话就insert。
谢谢了
我做insert操做,打开事务,在A表中查询name是否和传入的@name参数一样,相同的话返回一个值,页面上需要报错,即表A的name不能有一样的。没有一样的话就insert。
谢谢了
调试欢乐多
as
begin
if(select 1 from tb where name=@name)
raiserror ('name存在!', 16, 1)
else
insert into tb select @name
end
if exists(select 1 from tb where name=@name)
print 'error'
else
insert into ......
as
begin
if exists(select 1 from a where name=@name)
raiserror ('name存在!', 16, 1)
else
insert into a select @name
end
@Name nvarchar
as
declare @_id int
begin
select top 1 @_id=id from users where nmae=@Name
if @_ID>0
return 0
else
insert into users (name) Values(@name)
end
return @@IDDENTIY程序中执行:
SqlConnection conn = new SqlConnection(Conn_Str);
SqlCommand cmd = new SqlCommand("AddUser", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Name", SqlDbType.nvarchar).value="名字";
cmd.Parameters.Add("@insert_id", SqlDbType.int).Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
//存储过程给返回值变量returnvalue这个0代表已经存在的用户,大于0则表示刚插入的用户ID值
int returnvalue=cmd.Parameters[@insert_id].Value.ToString();
insert into tbb
select 1,'foru' union all
select 2,'go'select * from tbbalter procedure pro_iname
@id int,
@name varchar(20)
as
if exists(select 1 from tbb where name=@name)
print 'error'
else
insert into tbb(name) select @nameexec pro_iname 5,'dd6'