Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Rekord klonu SQL z unikalnym indeksem

Nie, chyba że chcesz wejść w dynamiczny SQL. Ponieważ napisałeś „czysty”, zakładam, że nie.

Edytuj: Ponieważ poprosił o przykład dynamicznego SQL, zajmę się nim. W tej chwili nie mam połączenia z żadną bazą danych, więc jest to nie do pomyślenia i prawie na pewno będzie wymagało korekty. Ale miejmy nadzieję, że oddaje ducha rzeczy:

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz zestaw wyników jako zmienną, a następnie użyj tej zmiennej w aktualizacji później w tej samej procedurze składowanej

  2. MySQL CASE do aktualizacji wielu kolumn

  3. Pula połączeń C# MySQL

  4. ignoruj ​​zduplikowane wyniki z pętli foreach przechodzącej przez zapytanie mysql

  5. MAMP Pro mysql nie może się uruchomić