sql >> Databáze >  >> RDS >> Sqlserver

aktualizace sql s dynamickými názvy sloupců

V dotazu proti information_schema máte kombinaci SQL a dynamického SQL . Také QUOTENAME není nutné v klauzuli where a ve skutečnosti zabrání shodě, protože SQL Server ukládá column_name , nikoli [column_name] , v metadatech. Nakonec to změním na sys.columns protože toto je způsob měli bychom odvozovat metadata na serveru SQL Server . Zkuste:

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. Import JSON do Mysql

  2. Mohu použít více kurzorů na jedno připojení s pyodbc a MS SQL Server?

  3. Jak vložit data souboru csv do databáze mysql

  4. Příklad replikace Oracle Streams krok za krokem