Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用单个SQL查询在变量中放置列值_Sql_Sql Server_Tsql - Fatal编程技术网

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

使用单个SQL查询在变量中放置列值,sql,sql-server,tsql,Sql,Sql Server,Tsql,在SQL server中,如何使用一个查询将多个列的值放入变量中 例:我的问题是: SELECT ET.ID,ET.Description,ET.DefaultTemplateText FROM TBL_EMAILTEMPLATE ET WHERE ET.NAME='OneWeekReminder' 我想将列值放在变量中。您可以使用以下语法: Declare @id INT Declare @desc VarChar(100) Declare @template VarChar(100)

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

例:我的问题是:

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

我想将列值放在变量中。

您可以使用以下语法:

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'

首先声明变量,然后在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'

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

declare @a varchar(50)
declare @b varchar(50)

select 
    @a = et.Description
,   @b = et.DefaultTemplateText
from YourTable
假设只有一行

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

如果查询返回多行,则只需多次设置值