码迷,mamicode.com
首页 > 数据库 > 详细

SQL 参数,传入参数和自己申明参数——异常抛出

时间:2016-03-23 11:20:08      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

ALTER PROCEDURE [dbo].[OA_RemoveProject]
@Password nvarchar(30), --这是传入的参数  
@ProjectNo nvarchar(8)
AS
DECLARE @ProjectId int  --这是声明的参数。
DECLARE @Count int

BEGIN
  IF UPPER(@Password)=‘FEIFEIDEMAO‘
    BEGIN
	  SET @Count=(SELECT COUNT(*) FROM DwProject WHERE ProjectNo=@ProjectNo)
	  if @Count=1
		BEGIN
			SET @ProjectId=(SELECT Id FROM DwProject WHERE ProjectNo=@ProjectNo)
			Delete From DwProject Where Id=@ProjectId 
			Delete From DwTask Where LinkId=@ProjectId
			Delete From DwProjectRelatedPersonnel Where ProjectId=@ProjectId
			Delete From DwProjectQuestion Where ProjectId=@ProjectId
			Delete From DwProjectFile Where ProjectId=@ProjectId
		END
	  ELSE IF @Count>1
		RAISERROR(N‘项目编码对应多个主键ID,无法删除!‘,11,5)WITH NOWAIT
	  ELSE RAISERROR(N‘未找到项目编号!‘,11,5)WITH NOWAIT
    END
    ELSE
    RAISERROR(N‘密码错误,重新执行!‘,11,5)WITH NOWAIT
END

  

 

需求:ID主键,非查询不可取到。但是ProjectNo可以看到。实现通过ProjectNo删除数据,以及关联表数据。(参数是   密码和要删除的项目编号)

 

SQL 参数,传入参数和自己申明参数——异常抛出

标签:

原文地址:http://www.cnblogs.com/blogs2014/p/5310254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!