sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2005 Express で、あるテーブルのすべてのフィールドを別の幅の広いテーブルにコピーするにはどうすればよいですか?

    次に、このような動的 SQL を使用できます...

    DECLARE
        @Fields nvarchar(Max),
        @SQL nvarchar(Max);
    
    SELECT
        @Fields = COALESCE(@Fields + ',', '') + column_name
    FROM
        information_schema.columns
    WHERE
        table_schema = 'dbo' AND
        table_name = 'Instance' AND
        column_name <> 'PrimaryKeyID' --here you exclude columns
    ORDER BY
        ordinal_position;
    
    
    SET @SQL = 'INSERT INTO dbo.Instance' 
        + ' ('
        + @Fields
        + ') SELECT '
        + ' ('
        + @Fields
        + ') FROM Template;'            
    
    EXECUTE sp_executesql @SQL;
    


    1. PHPの実行中に読み込み中の画像を表示する

    2. SQLiteの日付に月を追加する

    3. クライアントコードにインデックスとして何を保存する必要がありますか?

    4. ASP.NETセッションを管理するようにSQLServerを構成する方法