我在执行以下查询时获得了不同的行数:
use MyDb
select * from sys.tables where name like '%Abc%201502%'
exec sp_tables '%Abc%201502%'
我无法弄明白为什么。
根据this article,两者都必须相同!
答案 0 :(得分:3)
<强>
sp_tables
强>:
是一个存储过程,它返回可以查询的对象列表 当前的环境。这意味着任何表或视图,同义词对象除外。<强>
sys.tables
强>:
是系统视图,它为SQL Server中的每个用户表返回一行。
答案 1 :(得分:1)