我正在VisualParadigm中开发一个简单的数据库架构,并在最近查看了下一段代码摘录。
IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'getType') AND type in (N'P', N'PC'))
DROP PROCEDURE getType;
接下来是我的存储过程:
CREATE PROCEDURE getType @typeId int
AS
SELECT * FROM type t WHERE t.type_id = @typeId;
有人能解释一下(前一个)是什么意思吗?
备注:如果您也可以检查语法错误,那就太好了,因为我对sql server和存储过程还不太熟悉。
最佳答案
IF存在的部分首先检查是否存在同名的存储过程。如果是的话,它会在创建之前将其删除。如果没有此检查,您将获得存储过程已经存在的错误。