Sql sys.tables vs sp_tables
在执行以下查询时,我得到了不同的行计数:Sql sys.tables vs sp_tables,sql,sql-server,Sql,Sql Server,在执行以下查询时,我得到了不同的行计数: use MyDb select * from sys.tables where name like '%Abc%201502%' exec sp_tables '%Abc%201502%' 我不知道为什么 根据他们的说法,他们俩一定是一样的 sp_tables返回还包括视图的对象列表 依照 返回可在当前环境中查询的对象列表。这意味着任何表或视图,同义词对象除外 sys.tables仅返回表列表 依照 为SQL Server中的每个用户表返回一行
use MyDb
select * from sys.tables where name like '%Abc%201502%'
exec sp_tables '%Abc%201502%'
我不知道为什么
根据他们的说法,他们俩一定是一样的
sp_tables
返回还包括视图的对象列表
依照
返回可在当前环境中查询的对象列表。这意味着任何表或视图,同义词对象除外
sys.tables
仅返回表列表
依照
为SQL Server中的每个用户表返回一行
如果从
sp\u tables
的结果中查看列TABLE\u TYPE
,您将看到对象的类型TABLE/VIEW
。sp_tables
中显示的任何视图都不会显示在sys.tables中。tables
sp_tables
返回还包括视图的对象列表
依照
返回可在当前环境中查询的对象列表。这意味着任何表或视图,同义词对象除外
sys.tables
仅返回表列表
依照
为SQL Server中的每个用户表返回一行
如果从sp\u tables
的结果中查看列TABLE\u TYPE
,您将看到对象的类型TABLE/VIEW
。sp_tables
中显示的任何视图都不会显示在sys.tables
中
sp_表
:是一个存储过程,它返回可在中查询的对象列表 当前的环境。这意味着任何表或视图,同义词对象除外
系统表
:是系统视图,它为SQL Server中的每个用户表返回一行
sp_表
:是一个存储过程,它返回可在中查询的对象列表 当前的环境。这意味着任何表或视图,同义词对象除外
系统表
:是系统视图,它为SQL Server中的每个用户表返回一行
sp_表?我能看看吗?你有
视图吗?根据ughai的回答,如果您有视图,那么结果可能会有所不同。sp_表?我能看看吗?你有视图吗?根据ughai的回答,如果您有视图,那么结果可能会有所不同。在当前环境中可以查询的对象意味着具有当前用户的访问权限?是的,不管是什么表,视图可供该用户在任何特定数据库中查询。可在当前环境中查询的对象意味着具有当前用户的访问权限?是的,无论是什么表,视图可供该用户在任何特定数据库中查询。