代码之家  ›  专栏  ›  技术社区  ›  Shyju

使用单个SQL查询在变量中放置列值

  •  7
  • Shyju  · 技术社区  · 15 年前

    在SQL Server中,如何使用一个查询将多个列的值放入变量中?

    我的问题是:

    SELECT ET.ID,ET.Description,ET.DefaultTemplateText 
    FROM TBL_EMAILTEMPLATE ET 
    WHERE ET.NAME='OneWeekReminder'
    

    我想将列值放入变量中。

    4 回复  |  直到 7 年前
        1
  •  14
  •   Oded    15 年前

    您可以使用以下语法:

    Declare @id INT
    Declare @desc VarChar(100)
    Declare @template VarChar(100)
    
    SELECT @id = ET.ID, @desc = ET.Description, @template = ET.DefaultTemplateText 
    FROM TBL_EMAILTEMPLATE ET 
    WHERE ET.NAME='OneWeekReminder'
    
        2
  •  5
  •   JC Ford    15 年前

    首先声明变量,然后在select子句中设置它们。

    declare
        @ID int,
        @Description varchar(10),
        @DefaultTemplateText varchar(10)
    
    select
        @ID = ET.ID,
        @Description = ET.Description,
        @DefaultTemplateText = ET.DefaultTemplateText
    from
        TBL_EMAILTEMPLATE ET
    where
        ET.NAME = 'OneWeekReminder'
    
        3
  •  4
  •   Andomar    15 年前

    可以用逗号分隔多个工作分配。例如:

    declare @a varchar(50)
    declare @b varchar(50)
    
    select 
        @a = et.Description
    ,   @b = et.DefaultTemplateText
    from YourTable
    
        4
  •  3
  •   Nathan Koop    15 年前

    假设只有一排,

    SELECT @id = ET.ID, @Description = ET.Description, @DefaultTemplateText = ET.DefaultTemplateText
    FROM TBL_EMAILTEMPLATE ET 
    WHERE ET.NAME='OneWeekReminder'