请教大师们,一个存储过程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:49:15
------------------------------------
--用途:增加一条记录
--项目名称:CodematicDemo
--说明:
--时间:2009-10-12 0:20:46
------------------------------------
CREATE PROCEDURE UP_tb_Member_ADD
@uid int output,
@uName nvarchar(50),
@upwd nvarchar(50),
@uEmail nvarchar(100)

AS
INSERT INTO [tb_Member](
[uName],[upwd],[uEmail]
)VALUES(
@uName,@upwd,@uEmail
)
SET @uid = @@IDENTITY

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_tb_Member_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[UP_tb_Member_Update]
GO

最后的这句if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_tb_Member_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[UP_tb_Member_Update]
GO
能解释一下吗

--如果存在名为UP_tb_Member_Update的存储过程
IF EXISTS (
SELECT *
FROM dbo.sysobjects --查找系统表
WHERE (ID = object_id(N'[dbo].[UP_tb_Member_Update]')) --ID为[dbo].[UP_tb_Member_Update]的对象
AND (OBJECTPROPERTY(id, N'IsProcedure') = 1)) --而且是存储过程
)
--则删除之
DROP PROCEDURE [dbo].[UP_tb_Member_Update]