2013-05-14 17 views
8

Szukałem odpowiedzi, ale nie mogę jej znaleźć.Serwer SQL - Wygeneruj skrypt bez klucza podstawowego

Próbuję utworzyć wygenerowany skrypt moich danych (mam na myśli wszystkie polecenia INSERT INTO). Ponieważ uprawnienia dostępu, nie mogę wykonać SET IDENTITY_INSERT TABLE OFF i ON (używam aplikacji użytkownika w ocenie zaawansowanej)

Jest więc sposób na wykonanie tego skryptu w SQL Server Manager i uniknięcie pola z kluczem podstawowym? Ustawiłem na false wszystkie właściwości (podstawowe, unikalne, itp.), Ale skrypt wciąż wysyła to pole (np. Do RecID 1, 2, 3 itd.).

Używam 2012.

poważaniem SQL Server,

Każde rozwiązanie (z wyjątkiem usunięcia go z Notepad ++) jest doceniając możliwości. Proszę zapytać/edytować przed downvoted i przepraszam za mój angielski :)

UPDATE: My konfigurację skryptu:

enter image description here

Wyniki uzyskać:

SET IDENTITY_INSERT -TABLE- ON 
INSERT INTO TABLE (ID,Field1) VALUES (1,'value') 

Odpowiedz

11

Trochę pracy, ale czasami przydatny szybki i brudny sposób robienia tych rzeczy:

SELECT 'INSERT INTO TABLE (Field1) VALUES (''' + Field1 + ''')' FROM TABLE 

Zestaw wyników będzie wierszem dla każdej instrukcji wstawiania dla każdego wiersza w tabeli TABELA. Instrukcja INSERT jest generowana w wyniku połączenia tekstu instrukcji INSERT z wartościami w Field1.

+0

OMG, to było takie proste, że nigdy o tym nie myślałem! Zastanawiałem się nad utworzeniem SP z kursorem pobierania i itp. LOL. Wielkie dzięki. –

+2

Przydaje się w wielu sytuacjach, w których trzeba przekształcać dane i nie ma potrzeby korzystania z funkcji wyrażeń regularnych ... co pozwoliło mi zaoszczędzić kilka razy w ciągu roku! – FlipperPA

+0

a co z zerami? Mam kilka rekordów z pustym polem (smalldatetime field) –

Powiązane problemy