Я хочу объявить несколько целочисленных значений в переменной @ XYZId без объявления VariableTable и вставки нескольких значений

Declare @XYZId Int
Select @XYZId = ABCId from ABCTable where ABCId in (1,9,18,27)
Select @XYXId

- выход: 27 - Ожидаемый результат: все идентификаторы

1
9
18
27

Ваш вопрос не имеет смысла. Кажется, вы хотите присвоить значение целому числу. Но каким-то образом вы хотите, чтобы был назначен список значений?

Gordon Linoff 09.01.2019 12:41

Вопрос не имеет особого смысла. Почему вы ожидаете, что это сработает, не объявив его как табличную переменную? И почему вы хотите этого избежать? Очевидно, что результат вашего запроса - это набор результатов, а не одно целое число. Используйте правильный инструмент для работы. В данном случае это табличная переменная. Если у вас есть конкретная веская причина, по которой вы хотите избежать табличных переменных, укажите ее, потому что я не могу придумать ни одной, и в любом случае трудно понять, как вы могли бы успешно написать свой код без ее использования.

ADyson 09.01.2019 12:42

Одна целочисленная переменная не может содержать более одного целого числа. Вам нужно объявить табличную переменную (или временную таблицу, в зависимости от ваших требований) и выбрать в ней свои данные. Вы можете выбрать более одного значения за раз, используя синтаксис INSERT INTO ... SELECT или SELECT INTO ....

Diado 09.01.2019 12:44

Переменные, кроме табличных, являются скалярными. Они могут содержать 1 значение и только 1 значение.

Larnu 09.01.2019 12:44
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
4
308
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вам нужна табличная переменная, используйте правильный синтаксис:

declare @XYZIds table (id Int);

insert into @XYZIds (id)
    select ABCId
    from ABCTable where ABCId in (1, 9, 18, 27);

Другие вопросы по теме