2016-10-26 11 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を宣言....テーブル変数を使用することができます...代替はあなたが1つのレコードだけを必要と知っているならば、あなただけ行うことができますです

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

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

    execute(@query) 
関連する問題