在执行存储过程时被告知我应该包括prefox dbo例如
exec dbo.'name_of_stored_procedure'
如果不包含前缀,这有关系吗?
我什么时候应该使用前缀?
最佳答案
如果您的存储过程位于dbo
模式中,则应说:
EXEC dbo.name_of_procedure;
指定架构的优点:
您知道您正在调用dbo.procedure,即使还有some_other_schema.procedure
查询引擎不必先检查默认架构中是否有类似名称的对象
您不会得到不可预测的结果(例如,如果您的模式中有一个结果,但您的意思是
dbo
)如果每个人都一致使用模式,那么您就有更好的机会重复使用查询计划
指定架构的缺点:
您再输入四个字符
还有什么不被你明确发现的?
关于sql-server-2008 - 是否执行带有前缀dbo的存储过程有关系吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9419824/