sql >> Databáze >  >> RDS >> Mysql

Záznam klonu SQL s jedinečným indexem

Ne, pokud se nechcete dostat do dynamického SQL. Vzhledem k tomu, že jste napsal "čisté", předpokládám, že ne.

Upravit: Vzhledem k tomu, že požádal o dynamický příklad SQL, vrhnu se na něj. Momentálně nejsem připojený k žádným databázím, takže tohle je z hlavy a téměř jistě bude potřeba revize. Ale doufejme, že to vystihuje ducha věci:

-- Get list of columns in table
SELECT INTO #t
EXEC sp_columns @table_name = N'TargetTable'

-- Create a comma-delimited string excluding the identity column
DECLARE @cols varchar(MAX)
SELECT @cols = COALESCE(@cols+',' ,'') + COLUMN_NAME FROM #t WHERE COLUMN_NAME <> 'id'

-- Construct dynamic SQL statement
DECLARE @sql varchar(MAX)
SET @sql = 'INSERT INTO TargetTable (' + @cols + ') ' +
    'SELECT ' + @cols + ' FROM TargetTable WHERE SomeCondition'

PRINT @sql -- for debugging
EXEC(@sql)


  1. Server zaznamenal vnitřní chybu nebo nesprávnou konfiguraci a nemohl dokončit váš požadavek

  2. Jak nakonfigurovat replikaci zdroj-replika v MySQL

  3. Replikace a spouštěče MySQL

  4. Nelze převést varchar na datetime v MySql