Вы можете создать переменную, которая является полной таблицей. Вот пример кода:
USE AdventureWorks2008R2;
GO
DECLARE @MyTableVar table(
EmpID int NOT NULL,
OldVacationHours int,
NewVacationHours int,
ModifiedDate datetime);
UPDATE TOP (10) HumanResources.Employee
SET VacationHours = VacationHours * 1.25,
ModifiedDate = GETDATE()
OUTPUT inserted.BusinessEntityID,
deleted.VacationHours,
inserted.VacationHours,
inserted.ModifiedDate
INTO @MyTableVar;
--Display the result set of the table variable.
SELECT EmpID, OldVacationHours, NewVacationHours, ModifiedDate
FROM @MyTableVar;
GO
--Display the result set of the table.
SELECT TOP (10) BusinessEntityID, VacationHours, ModifiedDate
FROM HumanResources.Employee;
GO
Как вы можете видеть, вы заявляете это как обычный стол. В конце процедуры он выйдет за рамки.
Это переменные таблицы . Есть также временные таблицы которые вы можете создать, что работа во многом таким же образом, ожидать, что вы объявляете их: create table #tmp (Col1 int, Col2 int);
Там хороший SO пост о разнице между ними здесь: What's the difference between a temp table and table variable in SQL Server?
И вернемся к вашему первоначальному вопросу: вы можете создать переменную таблицы и притвориться, что это массив (ну это своего рода!). Вам просто нужно думать в терминах SQL для функций массива, поэтому вместо .Find
вы должны использовать предложение WHERE
.
Вы имеете в виду что-то вроде [csv] (http://en.wikipedia.org/wiki/Comma-separated_values)? –
Да, вы это называете таблицей – Luis
Как отметил Луис, базы данных используют таблицы ... – MatBailie