Ответ 1
select @EmpID = ID from dbo.Employee
или
set @EmpID = (выберите id из dbo.Employee)
Обратите внимание, что запрос select может возвращать более одного значения или строк. поэтому вы можете написать запрос выбора, который должен возвращать одну строку.
Если вы хотите добавить больше столбцов в одну переменную (MS SQL), есть возможность использовать переменную таблицы
DECLARE @sampleTable TABLE(column1 type1)
INSERT INTO @sampleTable
SELECT columnsNumberEqualInsampleTable FROM .. WHERE ..
Поскольку переменная типа таблицы не существует в Oracle и других, вы должны определить ее:
DECLARE TYPE type_name IS TABLE OF (column_type | variable%TYPE | table.column%TYPE [NOT NULL] INDEX BY BINARY INTEGER;
- Затем объявить переменную TABLE этого типа: variable_name type_name;
- Назначение значений переменной TABLE: variable_name(n).field_name := 'some text'
;
- Где 'n' - значение индекса