Главная страница
    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.044 c
1-1084277837
Sirakuz
2004-05-11 16:17
2004.05.23
Вопросы по основам наследования


1-1084275657
prockrut
2004-05-11 15:40
2004.05.23
Как заставить приложение что-либо делать, когда окно получает фок


3-1083262711
Plus
2004-04-29 22:18
2004.05.23
Проблема с выполнением SQL запроса, Oracle 8, Delphi 6, DOCI 1.19


14-1083087967
ИМХО
2004-04-27 21:46
2004.05.23
Выход в Инет через мобильник


3-1083344624
Anti
2004-04-30 21:03
2004.05.23
DBF-File





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