2008-10-03 7 views

Répondre

1

Quelqu'un d'autre a essayé here. Jetez un coup d'oeil s'il vous plait.

+1

C'est à peu près ce que je cherchais, sauf qu'il ne fait pas de tables temporaires (c'est-à-dire # nom_table), mais c'est quand même important. – RiskManager

1

Vous pouvez créer un script pour le faire en utilisant un curseur. Je viens d'en faire un hier. Vous pouvez obtenir l'idée de cela.

DECLARE MY_CURSOR Cursor 

FOR 
Select Year, HolidayId, Date, EffBegDate, isnull(EffEndDate,'') AS EffEndDate, ChangedUser From HolidayDate 

Open My_Cursor 

DECLARE @Year varchar(50), @HolidayId varchar(50), @Date varchar(50), @EffBegDate varchar(50), @EffEndDate varchar(50), @ChangedUser varchar(50) 

Fetch NEXT FROM MY_Cursor INTO @Year, @HolidayId, @Date, @EffBegDate, @EffEndDate, @ChangedUser 
While (@@FETCH_STATUS <> -1) 
BEGIN 
IF (@@FETCH_STATUS <> -2) 

print 'INSERT INTO [Employee3].[dbo].[HolidayDate]([Year],[HolidayId],[Date],[EffBegDate],[EffEndDate],[ChangedUser])' 
print 'VALUES ('''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''','''[email protected]+''')' 

FETCH NEXT FROM MY_Cursor INTO @Year, @HolidayId, @Date, @EffBegDate, @EffEndDate, @ChangedUser 
END 
CLOSE MY_CURSOR 
DEALLOCATE MY_CURSOR 
GO 
+0

Merci ctrlShiftBryan, mais je cherchais quelque chose de plus générique, c'est-à-dire, un script pour gérer n'importe quelle table. – RiskManager

1

Une approche simple:

SELECT 'INSERT INTO table (col1, col2, col3) VALUES (' 
    '''' + col1 + ''', ' 
    '''' + col2 + ''', ' 
    '''' + col3 + ''')' 
FROM table 

Une approche plus élaborée serait d'écrire une procédure qui construit l'instruction INSERT en vérifiant le schéma de la table, mais je ne l'ai jamais trouvé un réel besoin de faire cela en pratique.

+0

Je vais toujours pour la route sans curseur aussi. +1 – Taptronic

Questions connexes