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这样的全局表?