日期:2014-05-18  浏览次数:20554 次

如何在存储过程中判断!
我创建了一个存储过程,代码如下:(主要功能是将注册信息录入数据库)
CREATE   PROCEDURE     Insertzhuce  
(
@yhncID   char(10),@pwd   char(15),   @pwd1   char(15),@Brith     datetime,@sex   char(10),@telephone   varchar(20),@Email   varchar(20),@address   varchar(50)
)
AS
Insert   into   zhuce(yhncID,pwd,pwd1,Brith,sex,telephone,Email,address)   values   (@yhncID,@pwd,@pwd1,@Brith,@sex,@telephone,@Email,@address)
select   count(*)   from   zhuc
GO
现在我想用a和b进行判断,如果   数据库中存在该数据就用count(*)判断a> b。如果数据库不存在那就直接录入数据库!
具体思路存储过程我不知道怎么写,而且思路比较模糊!希望大侠给予帮助,谢谢!


------解决方案--------------------
就用count(*)判断a> b

什么意思?
------解决方案--------------------
确实不清楚,a和b是什么呢?
------解决方案--------------------
不解不解。

a,b是指的什么?
------解决方案--------------------
create table t_pro(id int identity(1,1),enm_no varchar(20) null)
go
create procedure usp_add_user(@emp_no varchar(20))
as
begin
if exists(select * from t_pro where t_pro.emp_no=@emp_no)
begin
select * from t_pro
end
else
begin
insert into t_pro(emp_no) values(@emp_no)
end
end


exec usp_add_user '001 '
exec usp_add_user '002 '
exec usp_add_user '003 '
exec usp_add_user '004 '
exec usp_add_user '005 '
exec usp_add_user '006 '
exec usp_add_user '007 '
exec usp_add_user '008 '
drop table t_pro
drop procedure usp_add_user

------解决方案--------------------
CREATE PROCEDURE Insertzhuce
(
@yhncID char(10),@pwd char(15), @pwd1 char(15),@Brith datetime,@sex char(10),@telephone varchar(20),@Email varchar(20),@address varchar(50)
)
AS
if not exists(select 1 from zhuce where yhncId=@yhncId) --判断是否存在?
Insert into zhuce(yhncID,pwd,pwd1,Brith,sex,telephone,Email,address) values (@yhncID,@pwd,@pwd1,@Brith,@sex,@telephone,@Email,@address)

GO