2011-01-08 15:25:00
今天在http://www.sqlmag.com/Article/ArticleID/23011/sql_server_23011.html里,发现有提到一点,就是在
ms sql server里,在命名存储过程的时候,尽量避免要用sp_这样的前缀开头,文中的一个实验方法我试了下,也的确是这个回事,原因是如果假设你在数据库a里建立了存储过程,而以sp_x为前缀进行命名存储过程的话,会在寻找的时候,先到master数据库里去找的,这当然是找不到的哦。另外,查看微软的帮助说明可以看到如下的介绍:
烈建议您不要创建以 sp_ 为前缀的存储过程。SQL Server 始终按照下列顺序查找以 sp_ 开头的存储过程:
在 master 数据库中查找存储过程。
根据所提供的任何限定符(数据库名称或所有者)查找该存储过程。
如果未指定所有者,则使用 dbo 作为所有者查找该存储过程。
因此,虽然当前数据库中可能存在带 sp_ 前缀的用户创建的存储过程,但总会先检查 master 数据库(即使该存储过程已用数据库名称限定)。
更多精彩内容:各种AI课程、技能课程、黑科技软件、网站小程序源码、副业小项目、PPT模板等精品素材、电商课程、推广引流课程等,尽在 天边资源网 。