栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

创建存储过程(如果尚不存在)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建存储过程(如果尚不存在)

CREATE PROCEDURE
必须是批处理中的第一个语句。我通常会这样:

IF EXISTS (        SELECt type_desc, type        FROM sys.procedures WITH(NOLOCK)        WHERe NAME = 'myProc' AND type = 'P'      )     DROp PROCEDURE dbo.myProcGOCREATE PROC dbo.myProcAS....    GO    GRANT EXECUTE ON dbo.myProc TO MyUser

(不要忘记授予声明,因为如果您重新创建proc,它们将会丢失)

部署存储过程时要考虑的另一件事是,删除可以成功而创建失败。出现问题时,我总是使用回滚来编写SQL脚本。只要确保您不会在结尾时意外删除提交/回滚代码,否则您的DBA可能会在气管中将您吊起踢:)

BEGIN TRAN IF EXISTS (       SELECT type_desc, type       FROM sys.procedures WITH(NOLOCK)       WHERe NAME = 'myProc'AND type = 'P'     )DROp PROCEDURE myProc GOCREATE PROCEDURE myProcAS   --proc logic hereGO-- BEGIN DO NOT REMOVE THIS CODE (it commits or rolls back the stored procedure drop)     IF EXISTS(    SELECT 1    FROM sys.procedures WITH(NOLOCK)    WHERe NAME = 'myProc'        AND type = 'P'  )        COMMIT TRAN        ELSE        ROLLBACK TRAN-- END DO NOT REMOVE THIS CODE


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号