日期:2014-05-19  浏览次数:20582 次

关于存储过程
CREATE   proc   procname
@pid   varchar(15),
@pname   varchar(50),
@ppath   varchar(200),

@pcount   int   output
as
select   @pcount=count( 'tid ')     from   mytable   where   tid=@pid
if(@pcount> 0)
return   @pcurpageid
else
    insert   into   mytable(tid,tname,tpath)   values(@pid,@pname,@ppath)

表中tid为主键。当插入不同的tid记录时无错,但插入相同的tid值时,第一次运行无错,第二次运行报“插入相同主键值”错误

------解决方案--------------------
LZ的存储过程没问题啊
CREATE proc procname
@pid varchar(15),
@pname varchar(50),
@ppath varchar(200),

@pcount int output
as
select @pcount=count( 'tid ') from mytable where tid=@pid
if(@pcount> 0)
return @pcount
else
insert into mytable(tid,tname,tpath) values(@pid,@pname,@ppath)