Подтвердить что ты не робот

SQL Выберите строку и сохраните ее в переменной SQL

Итак, я пишу этот Stored Proc, и я действительно сосать SQL.

Мой вопрос к вам, ребята:

Можно ли выбрать целую строку и сохранить ее в переменной?

Я знаю, что могу сделать что-то вроде:

declare @someInteger int
select @someInteger = (select someintfield from sometable where somecondition)

Но могу ли я выбрать всю строку из sometable и сохранить ее в переменной?

4b9b3361

Ответ 1

Вы можете выбрать поля для нескольких переменных:

DECLARE @A int, @B int

SELECT
  @A = Col1,
  @B = Col2
FROM SomeTable
WHERE ...

Другой, потенциально лучший подход - использовать переменную таблицы:

DECLARE @T TABLE (
  A int,
  B int
)
INSERT INTO @T ( A, B )
SELECT
  Col1,
  Col2
FROM SomeTable
WHERE ...

Затем вы можете выбрать из своей таблицы переменную, как в обычной таблице.

Ответ 2

Вы можете создать переменную таблицы, соответствующую вашей схеме таблиц, и сохранить в ней одну строку:

declare @myrow table(field0 int,field1 varchar(255))
insert into @myrow
select field0,field1 from mytable where field0=1