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

INSERT ステートメント値の動的リストを作成する

    次のコマンドを検討してください:

    SELECT 'SELECT ' +
        STUFF ((
            SELECT ', [' + name + ']'
            FROM syscolumns
            WHERE id = OBJECT_ID('Table') AND
                name <> 'me'
            FOR XML PATH('')), 1, 1, '') +
        ' FROM [Table]'
      

    それは SELECT を構築します 特定のテーブルのステートメント。 INSERT を作成するには ステートメントは次のようになります:

    SELECT @sql = 'INSERT INTO [Table] (' +
        STUFF ((
            SELECT ', [' + name + ']'
            FROM syscolumns
            WHERE id = OBJECT_ID('Table') AND
                name <> 'me'
            FOR XML PATH('')), 1, 1, '') +
        ') VALUES (' +
        STUFF ((
            SELECT ', @' + name
            FROM syscolumns
            WHERE id = OBJECT_ID('Table') AND
                name <> 'me'
            FOR XML PATH('')), 1, 1, '') + ')'
      

    もちろん、INSERT に到達する方法はたくさんあります。 ステートメント、好みに合わせて成形してください。



    1. mySQLブロブ画像のプリントアウト?

    2. フォームでデータベースに投票を追加するにはどうすればよいですか?

    3. MySQL用のSpringBatch3アップグレードスクリプトはありますか?

    4. インデックスのDOとDONT