Размещение значений столбцов в переменных с помощью одного SQL-запроса - PullRequest
7 голосов
/ 30 марта 2010

На сервере SQL, как я могу поместить значение более одного столбца в переменные, используя один запрос?

Пример: мой запрос:

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

Я хочу разместить значения столбцов в переменных.

Ответы [ 4 ]

14 голосов
/ 30 марта 2010

Вы можете использовать следующий синтаксис:

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'
5 голосов
/ 30 марта 2010

сначала объявляйте переменные, затем устанавливайте их в предложении 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'
4 голосов
/ 30 марта 2010

Вы можете разделить несколько назначений запятой. Например:

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

select 
    @a = et.Description
,   @b = et.DefaultTemplateText
from YourTable
3 голосов
/ 30 марта 2010

Предполагая только одну строку,

SELECT @id = ET.ID, @Description = ET.Description, @DefaultTemplateText = ET.DefaultTemplateText
FROM TBL_EMAILTEMPLATE ET 
WHERE ET.NAME='OneWeekReminder'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...