如何使用sql server中的现有数据声明表变量

Ash*_*ani 0 sql t-sql sql-server

我想在 sql server 中声明一个表变量,其中将包含一些硬编码值。我试过:

DECLARE @tbl TABLE(Id int) = (1, 2, 3, 4, 5) -- gives error
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

DECLARE @tbl TABLE(Id int) 
INSERT INTO @TBL SELECT * FROM (1, 2, 3, 4, 5) -- also gives error
Run Code Online (Sandbox Code Playgroud)

有没有办法用硬编码的现有值创建一个表?

Gor*_*off 5

你想要的语法是:

DECLARE @tbl TABLE(Id int);

INSERT INTO @tbl (id)
   VALUES (1), (2), (3), (4), (5);
Run Code Online (Sandbox Code Playgroud)

这是一个 db<>fiddle。