2009-09-30 4 views
4

SQL Newbie 여기에 간단한 질문인데 간단한 코드 예제를 찾아야합니다. 결과를 반환) # 1 3의 결과 테이블에서 값을 사용하여, 하나 개의 테이블 2) 다른 테이블의 행을 업데이트에서 1) 행을 선택 :T-SQL 저장 프로 시저에서 테이블을 반환하는 방법

나는 순서대로 세 가지를 수행하는 저장 프로 시저를 작성해야 # 1의 테이블.

내가 찾을 수없는 것은 저장 프로 시저에서 이와 같은 값을 반환하는 방법에 대한 예제입니다. 또한 호출자 (다른 T-SQL 스크립트)에서 리턴 된 테이블을 검색하는 방법.

+0

[여기보기] (http://stackoverflow.com/questions/440308/tsql-returning-a-table-from-a-function-or-store-procedure) -이의 거의 정확한 사본 문제. 그래서 "T-SQL 저장 프로 시저에서 테이블을 반환하는 방법"을 검색하여 찾았습니다. –

답변

5

이것 좀보세요.

DECLARE @Table1 TABLE(
     ID INT, 
     VAL int 
) 

INSERT INTO @Table1 (ID,VAL) SELECT 1, 1 
INSERT INTO @Table1 (ID,VAL) SELECT 2, 2 
INSERT INTO @Table1 (ID,VAL) SELECT 3, 3 

DECLARE @Table2 TABLE(
     ID INT, 
     VAL VARCHAR(MAX) 
) 

INSERT INTO @Table2 (ID,VAL) SELECT 1, 1 
INSERT INTO @Table2 (ID,VAL) SELECT 2, 2 
INSERT INTO @Table2 (ID,VAL) SELECT 3, 3 

--Lets say this is the 2 tables 


--now this will go into the sp 
UPDATE @Table1 
SET  Val = t1.Val + t2.Val 
FROM @Table1 t1 INNER JOIN 
     @Table2 t2 ON t1.ID = t2.ID 

SELECT t1.* 
FROM @Table1 t1 INNER JOIN 
     @Table2 t2 ON t1.ID = t2.ID 


--and you can insert into a var table in the tsql script that calls the sp 

DECLARE @Table1TSQL TABLE(
     ID INT, 
     VAL int 
) 

INSERT INTO @Table1TSQL (ID,VAL) EXEC YourSP 
+0

자, 값을 반환 할 수있는 YourSP의 구문은 무엇입니까? – Whiteknight

+3

마지막 선택과 일치하는 행이 반환됩니다. – CSharpAtl

+0

정확히 내가 찾고있는 정보입니다. Thanks CSharpAtl – Whiteknight

관련 문제