Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Как скинуть все данные таблицы в виде SQL скрипта (INSERT...)   Найти похожие ветки 

 
Layner ©   (2004-04-22 08:29) [0]

не могу найти этот пункт в EM :(
Помню в TOAD для ORACLE была такая опция, тут думал тоже есть в "Generete SQL Script" в свойствах табл, ан нет :(
SQL Damp так сказать.
Заранее благодарю!!!


 
Layner ©   (2004-04-22 08:30) [1]

Да, уточню, это в SQL Server 2000.


 
Layner ©   (2004-04-22 08:41) [2]

Мастера! Ну кот нибудь, есть ли такая штука в EM, или QA?


 
Layner ©   (2004-04-22 08:49) [3]

sniknik
Может подскажешь :) Один ты на форуме... срочно надо :)


 
ZrenBy ©   (2004-04-22 10:21) [4]

(c)Serge I

if exists (select * from sysobjects where id = object_id(N"[dbo].[sp_gen_insert ]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [dbo].[sp_gen_insert ]
GO

SET QUOTED_IDENTIFIER  OFF    SET ANSI_NULLS  ON
GO

--Генерирует скрипт закачки данных операторами INSERT c  учетом NULL-значений и апострофами в тексте
CREATE PROCEDURE sp_gen_insert
@db varchar(30), -- имя БД
@tb varchar(30) -- имя таблицы
AS
--
declare @selstring varchar(2000),
@colname varchar(30),@ch int,@dt tinyint, @isquot char, @csn as varchar(30)

select @selstring="declare tcur cursor  for
SELECT column_name, character_maximum_length,   datetime_precision, CHARACTER_SET_NAME
FROM "+@db+"."+"INFORMATION_SCHEMA.COLUMNS
WHERE table_name ="""+ @tb+""""
exec (@selstring)
declare @fields varchar(250),@str varchar(2000),@first char
open tcur

fetch tcur into @colname,@ch,@dt,@csn
 if (@ch is null and @dt is null)
set @first=1
 else
set @first=0
set @fields=""
set @str=""

WHILE @@FETCH_STATUS = 0
BEGIN
 if (@ch is null and @dt is null)
set @str=@str +"+","+isnull(cast("+@colname+" as varchar(8000)),"+""""""""+")"
 else  
set @str=@str + "+","""+isnull(convert(varchar(8000),"+@colname+",121),"+""""""""+")+"""""

  set @fields = @fields+","+@colname
  fetch tcur into @colname,@ch,@dt,@csn
END

if @first=0
set @str=""""+substring(@str,5,2000)
else
set @str=substring(@str,6,2000)

set @str=""insert into "+""+@tb+""+" values("+"+@str+"+")""
close tcur
DEALLOCATE tcur
select @selstring="declare tcur cursor  for select "+@str+" from " + @db+".."+@tb
exec (@selstring)

declare @vstr varchar(8000)
open tcur
fetch tcur into @vstr
WHILE @@FETCH_STATUS = 0
BEGIN
--Мудрим с NULL
set @vstr=replace(@vstr,","""",",",NULL,")
set @vstr=replace(@vstr,","""")",",NULL)")
set @vstr=replace(@vstr,"("""",","(NULL,")
set @vstr=replace(@vstr,","",",",NULL,")
set @vstr=replace(@vstr,","")",",NULL)")
set @vstr=replace(@vstr,"("",","(NULL,")
--Мудрим с апострофом
set @vstr=replace(@vstr,""","""")
set @vstr=replace(@vstr,"("","(")
set @vstr=replace(@vstr,","",",")
set @vstr=replace(@vstr,"")",")")
set @vstr=replace(@vstr,"",",",")
--Снова NULL
set @vstr=replace(@vstr,","""""",",",NULL,")
set @vstr=replace(@vstr,","""""")",",NULL)")
set @vstr=replace(@vstr,"("""""",","(NULL,")
print @vstr
fetch tcur into @vstr
end
close tcur
DEALLOCATE tcur

GO
SET QUOTED_IDENTIFIER  OFF    SET ANSI_NULLS  ON
GO


Использование

exec sp_gen_insert "pubs", "authors"


 
Layner ©   (2004-04-23 13:35) [5]

ZrenBy ©   (22.04.04 10:21)
Спасибо, код сохранил, может пригодится, просто я нашел программу через поисковики, в это же время, с исходниками, которая это делает.
http://sql.softmatics.ru/22.htm
и тут
http://vyaskn.tripod.com/code/generate_inserts.txt


 
Nikolay M. ©   (2004-04-23 16:11) [6]

Неужели через DTS не получилось сделать? Не поверю :(



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.035 c
3-1083242996
BPK
2004-04-29 16:49
2004.05.23
Сложный динамический SQL-запрос


1-1084026172
t_killa
2004-05-08 18:22
2004.05.23
Позднее наследование


14-1083085712
Piter
2004-04-27 21:08
2004.05.23
Какая у вас любимая комедия?


8-1078497702
artix
2004-03-05 17:41
2004.05.23
Поворот картинки


14-1083701067
SkyRanger
2004-05-05 00:04
2004.05.23
Скриншоты из Wndows Media Player





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский