Skip to content

Instantly share code, notes, and snippets.

@cairabbit
Created March 5, 2017 23:30
Show Gist options
  • Save cairabbit/92b3a51246db1479eb24267f16bad4db to your computer and use it in GitHub Desktop.
Save cairabbit/92b3a51246db1479eb24267f16bad4db to your computer and use it in GitHub Desktop.
SET NOCOUNT ON;
declare @tbl varchar(50);
set @tbl='[Users]';
SELECT * INTO #temp_table_for_script FROM (
-- select query sql
select * from [Users] where UserID in (985)
) as tmp
--select * from #temp_table_for_script;
declare @csv_columns varchar(max);
SELECT @csv_columns=STUFF
(
(
SELECT ',['+ NAME +']' FROM tempdb.sys.columns
WHERE OBJECT_ID=OBJECT_ID('tempdb..#temp_table_for_script') AND
is_identity!=1 FOR XML PATH('')
),1,1,''
);
declare @data varchar(max);
SELECT @data=STUFF
(
(
SELECT ' ISNULL(QUOTENAME('+NAME+','+QUOTENAME('''','''''')+'),'+'''NULL'''+')+'','''+'+' FROM tempdb.sys.columns
WHERE OBJECT_ID=OBJECT_ID('tempdb..#temp_table_for_script') AND
is_identity!=1 FOR XML PATH('')
),1,1,''
);
declare @text varchar(max);
SELECT @text='SELECT ''INSERT INTO '+@tbl+'('+@csv_columns+') VALUES('''+'+'+SUBSTRING(@data,1,LEN(@data)-5)+'+'+''')'''+' Insert_Scripts FROM #temp_table_for_script'
EXECUTE (@text);
DROP TABLE #temp_table_for_script;
SET NOCOUNT OFF;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment