在执行存储过程时被告知我应该包括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/

10-13 07:56