SQL Server存储过程

create proc proc_test_insert  --如果要修改这个存储过程的话只要给create 改为alter就行了
 (
	@p_name nvarchar(50),
	@p_age int,
	@p_email varchar(100),
	@p_addres nvarchar(100),
	@p_remarks nvarchar(100)
	--@num nvarchar out -- 用来保存输出的错误信息,或者成功信息
  )
as
begin
 if @p_email is null or LEN(@p_email)<=0 
   print 'email不能为空';
 else  if @p_addres is null or LEN(@p_addres)<=0
  print '地址不能为空'
  else
  begin 
   insert into t_test values(@p_name,@p_age,@p_email,@p_addres,@p_remarks)
   print ' 插入成功'
  end
end
   
  
exec proc_test_insert  '武松',46,'wusong@163.com','',''    --插入不会成功,会报错:"地址不能为空"


或者这样也可以

create proc proc_test_insert  --如果要修改这个存储过程的话只要给create 改为alter就行了 
 (
	@p_name nvarchar(50),
	@p_age int,
	@p_email varchar(100),
	@p_addres nvarchar(100),
	@p_remarks nvarchar(100),
	@num nvarchar(50) out -- 用来保存输出的错误信息,或者成功信息
  )
as
begin
set @num='';
 if @p_email is null or LEN(@p_email)<=0 
   set @num= 'email不能为空';
 else  if @p_addres is null or LEN(@p_addres)<=0
  set @num= '地址不能为空'
  else
  begin 
   insert into t_test values(@p_name,@p_age,@p_email,@p_addres,@p_remarks)
   set @num= ' 插入成功'
  end
end


   
declare @num nvarchar(50); 
exec proc_test_insert  '鲁智深',45,'','山东省济宁市梁山县','', @num out  --插入不会成功,会报错:"email不能为空"
print @num


SQL Server存储过程,布布扣,bubuko.com

SQL Server存储过程

上一篇:mysql 较为高效的分页


下一篇:Missing access checks in put_user/get_user kernel API (CVE-2013-6282)