Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Generowanie instrukcji INSERT z tabeli SQL Server

Widzę, że oznaczyłeś swój post SQL-Server-2005, to szkoda, ponieważ wersja 2008 ma do tego narzędzie kreatora.

Możesz zbudować instrukcje wstawiania z połączonych ciągów.

Jeśli pole1 jest ciągiem, pole2 liczbą:

select 'insert into data (field1, field2) values('' || field1 || '', ' || char(field2) ||');' from data where ID < 9000;

Oczywiście może to być czasochłonne, jeśli masz wiele kolumn, biorąc pod uwagę, że łańcuchy wymagają cudzysłowów. Być może będziesz musiał przekonwertować kolumny numeryczne za pomocą char() też.

Powinno to dać listę instrukcji wstawiania, takich jak ta:

insert into data (field1, field2) values('A', 10);
insert into data (field1, field2) values('B', 20);
insert into data (field1, field2) values('C', 30);

Może nie jest to najbardziej elegancki sposób na zrobienie tego, ale działa.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd — transakcja powiązana z bieżącym połączeniem została zakończona, ale nie została usunięta

  2. Wykonaj procedurę składowaną w innej procedurze składowanej na serwerze SQL

  3. Jaki jest najlepszy sposób przechowywania współrzędnych (długość/szerokość geograficzna, z Google Maps) w SQL Server?

  4. SQL Server:jak zapytać, kiedy wykonano ostatnią kopię zapasową dziennika transakcji?

  5. Pakiet SSIS wykonany w agencie serwera nie wykonuje swojej pracy (nawet podczas raportowania sukcesu)