변수에 둘 이상의 값을 저장하려면 저장 프로 시저에서 어떻게 할 수 있습니까?저장 프로 시저에 둘 이상의 값을 저장하려면 어떻게해야합니까?
은 우리가 보통 프로그래밍에서 배열 개념이 의미하는 당신이 구출 한 후 임시 테이블은 우리가 저장 단지 절차의 범위 내에서 필요한
변수에 둘 이상의 값을 저장하려면 저장 프로 시저에서 어떻게 할 수 있습니까?저장 프로 시저에 둘 이상의 값을 저장하려면 어떻게해야합니까?
은 우리가 보통 프로그래밍에서 배열 개념이 의미하는 당신이 구출 한 후 임시 테이블은 우리가 저장 단지 절차의 범위 내에서 필요한
경우 저장 프로 시저에서 그런 일을해야합니까.
특정 데이터베이스에 따라 몇 가지 옵션을 사용할 수 있습니다.
SQL 서버에서, 당신은 모든 연결에 당신의 연결 (CREATE TABLE #YourTable(.....)
)
CREATE TABLE ##YourTable(.....)
)DECLARE @YourVariable TABLE (.....)
)완전한 테이블 인 변수를 만들 수 있습니다. 다음은 코드 샘플입니다.
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
정상적인 테이블처럼 선언 할 수 있습니다. 절차가 끝나면 범위를 벗어날 것입니다.
이들을 테이블 변수이라고합니다. What's the difference between a temp table and table variable in SQL Server?
: 좋은 그래서 여기 둘 사이의 차이에 대해 게시있다 create table #tmp (Col1 int, Col2 int);
: 당신이 만들 수 임시 테이블, 거의 같은 방법으로 그 일을 당신이 선언 할 것으로 기대도있다 그리고 원래의 질문으로 돌아가려면 테이블 변수를 생성하고 그것을 배열로 가장 할 수 있습니다. 배열 함수에 대해서는 SQL의 관점에서 생각하면됩니다. 따라서 .Find
대신 WHERE
절을 사용해야합니다.
[csv] (http://en.wikipedia.org/wiki/Comma-separated_values)와 같은 것을 의미합니까? –
네, 테이블이라고 부릅니다 – Luis
루이스가 지적했듯이, 데이터베이스는 테이블을 사용합니다 ... – MatBailie