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

動的列名を使用したSQL更新

    information_schema に対するクエリに SQL と動的 SQL が混在しています . QUOTENAME も SQL Server は column_name を格納するため、where 句では必要なく、実際には一致をまったく防ぎます。 、 [column_name] ではありません 、メタデータで。最後に、sys.columns に変更します。 これが 方法であるため、SQL Server でメタデータを取得する必要があります。 .試してみてください:

    SELECT  @colnames += ',' + name 
      FROM Prod.sys.columns
      WHERE OBJECT_NAME([object_id]) = @objname
      AND name <> CASE WHEN @objname = 'TableXx' THEN 'ExcludeCol1' ELSE '' END
      AND name <> CASE WHEN @objname = 'TableYy' THEN 'ExcludeCol2' ELSE '' END;
    
    SET @colnames = STUFF(@colnames, 1, 1, '');
      


    1. Oracleパッケージの実行をパフォーマンスの問題について簡単に分析するにはどうすればよいですか?

    2. OracleのタイプをHibernateにマップします

    3. 日付ベースのレコードを15分間隔にグループ化する方法

    4. MQTTクライアントはPostgreSQLDBの変更をサブスクライブします