SQL Server中有诸如Sysobjects这样的全局表,也就是说你可以在不切换当前数据库的情况下直接进行select等操作。那么如果是普通表,怎样实现在不切换当前数据库的情况下直接使用?
比如我需要在我的数据库mydb中写一个存储过程,如果有错误发生,存储过程能根据@@error显示错误信息,我就需要这样的语句:
select description
from sysmessages
where error = @@error
原来我以为sysmessages和Sysobjects同样是全局表,可是运行后显示错误信息:对象名 'sysmessages' 无效。
把上面代码改为:
select description
from master..sysmessages
where error = @@error
sysmessages在数据库master中,master后面跟两个半角英文点号。这样就可以了。
也想请教一下高手:SQL Server中都有哪些有诸如Sysobjects这样的全局表?
博客围绕SQL Server展开,探讨了在不切换当前数据库的情况下使用普通表的方法,以在数据库mydb中写存储过程为例,展示了通过特定格式引用其他数据库表的方式。同时还提出了询问SQL Server中有哪些类似Sysobjects的全局表的问题。
4917

被折叠的 条评论
为什么被折叠?



