sql - 如何在SQL Server的while循环中使用选择表达式?

标签 sql sql-server tsql

我需要在while循环中使用选择表达式,并使用以下示例代码:

 declare @i integer
 set @i=1
 while (@i<10)
 begin
   select @i as m;
   set @i=@i+1
 END 

此代码返回10个单独的表!我希望它在一张表中返回所有选择的结果...可能吗?如果是,怎么办?

最佳答案

您可以为此使用临时表或表变量。

这是使用临时表的方法。

CREATE TABLE #t (m INT)
DECLARE @i INT
SET @i=1
WHILE (@i<10)
BEGIN
  INSERT INTO #t SELECT @i
  SET @i=@i+1
END 
SELECT m FROM #t

与表变量非常相似
DECLARE @t TABLE (m INT)
DECLARE @i INT
SET @i=1
WHILE (@i<10)
BEGIN
  INSERT INTO @t SELECT @i
  SET @i=@i+1
END 
SELECT m FROM @t

关于sql - 如何在SQL Server的while循环中使用选择表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14604965/

相关文章:

php - 显示与数据库字段不同的值

java - Oracle->MSSQL : How to set identifier generator?

sql-server - SQL Server 不向特定电子邮件地址发送电子邮件

MYSQL使用多个主键的重复键语法

sql - 返回一列相同但一列不同的不同值

python - Pandas 数据框中等效的 SQL 查询

mysql - 使用 SQL 查询计算每一天

SQL Server BULK INSERT - 插入日期时间值

具有内部联接的 SQL Server 更新

sql - 文本被截断或者一个或多个字符在目标代码页中不匹配,包括逆透视中的主键