与每一行一起打印行号或计数器

Print a row number or counter along with each row

我想打印我数据库中所有表的名称,但行号如下:

S.No.  Table Name
-------------------
1.     Products
2.     Orders
3.     OrderDetails
...

我尝试了以下方法,但它给出了总行数。

-- USE [MyDatabase]; -- implied

SELECT @@ROWCOUNT AS [S.No.], 
       Name as [Table Name] 
FROM Sys.Tables;

我想我必须这样做:

@Counter int;
SELECT (SELECT ++@Counter AS [S.No.]), 
       Name AS [Table Name]
FROM Sys.Tables;

但我不太确定确切的语法。你能帮我吗?

我正在使用 Microsoft SQL Server 2014。

使用row_number():

SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) as [S.No.], 
       Name as [Table Name] 
FROM Sys.Tables;