Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Как скинуть все данные таблицы в виде 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
1-1084351959
Litr
2004-05-12 12:52
2004.05.23
Форма


1-1083844788
temp111
2004-05-06 15:59
2004.05.23
Как вернуть сокеты в Delphi7


14-1083589784
Igor_thief
2004-05-03 17:09
2004.05.23
XML


8-1078418880
Александр...
2004-03-04 19:48
2004.05.23
как перехватить звуковой поток и отправить его в LPT порт


3-1083320576
Однако
2004-04-30 14:22
2004.05.23
про RzDBLookupComboBox, модальное окно и кнопку Cansel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский