2016-10-26 2 views
0

특정 조건에 따라 열 수가 다를 수있는 데이터가 포함 된 테이블을 다시 전달하려는 SQL Server 2014의 저장 프로 시저가 있습니다.동적 열 개수가있는 T-SQL 패스 백 테이블

나는 다음과 같은 테이블을 생성하고 데이터를 삽입하지만 항상 고정 될 수있다 :

CREATE TABLE Persons 
(
    PersonID int, 
    LastName varchar(255), 
    FirstName varchar(255), 
    Address varchar(255), 
    City varchar(255) 
); 

는 어떻게 달성 할 수 있을까?

+0

을 ... 대안은 당신이 당신이 할 단지 수 있습니다 당신은 단지 하나 개의 레코드를 필요로 알고있는 경우입니다 원시 선택 변수. 또한 사용자 정의 함수는 테이블을 반환 할 수 있습니다. –

+0

데이터 당 테이블을 삽입해야합니까? – Matej

답변

0

당신은 동적 쿼리 생성 할 수 있습니다 : 당신은 표 @MyTableVar를 선언 .... 테이블 변수를 사용할 수 있습니다

DECLARE @cols AS NVARCHAR(MAX), 
    @query AS NVARCHAR(MAX) 

    set @query = 'CREATE TABLE Persons 
    (
    @cols 
    );' 

    execute(@query)