mssql

推荐列表 站点导航

当前位置:首页 > 数据库 > mssql >

sqlserver 导出插入脚本代码

来源:网络整理  作者:网络  发布时间:2020-12-08 09:21
工作中经常遇到需要将远程客户数据库中的数据复制到本地来测试,下载整个数据库太大了不值得,用下面的脚本可...

复制代码 代码如下:

From @tbImportTables
@insertscript varchar(max)


@fieldscript varchar(max),
@deleted tinyint,
Declare curImportTables Cursor For
Declare @tablename varchar(128),

Open curImportTables


  Fetch Next From curImportTables Into @tablename, @deleted
  select @fieldscript = @fieldscript + column_name + ',' from INFORMATION_SCHEMA.columns where table_name = @tablename and data_type not in('timestamp', 'image')
DECLARE @tbImportScripts table(script varchar(max))
  set @valuescript = substring(@valuescript, 0, len(@valuescript) - 4)
Select * from @tbImportScripts
  If (@deleted = 1)
Select tablename, deleted
  begin

Close curImportTables
End
--Insert Into @tbImportTables(tablename, deleted) select table_name, 1 from INFORMATION_SCHEMA.tables where table_type = 'BASE TABLE'

@columnname varchar(128),
当然有其它工具可以做这件事,但如果客户不允许你在服务器乱装东西时这个脚本就会有用了。
Begin
  Insert into @tbImportScripts(script) exec ( @insertscript)

Insert Into @tbImportTables(tablename, deleted) values('tattribute', 1)
Fetch Next From curImportTables Into @tablename, @deleted
  set @fieldscript = substring(@fieldscript, 0, len(@fieldscript))
-- append all tables
WHILE @@Fetch_STATUS = 0

Insert Into @tbImportTables(tablename, deleted) values('tentitytype', 1)
DECLARE @tbImportTables table(tablename varchar(128), deleted tinyint)
  Insert into @tbImportScripts(script) values ('GO ')




  set @insertscript = 'select ''insert into ' + @tablename + '(' + @fieldscript + ') values(' + '''+' + @valuescript + ' + '')'' from ' + @tablename

    Insert into @tbImportScripts(script) values ('Truncate table ' + @tablename)
  Insert into @tbImportScripts(script) values ('SET IDENTITY_INSERT ' + @tablename + ' ON')

  set @valuescript = ''
-- append tables which you want to import
  end
@valuescript varchar(max),
  Insert into @tbImportScripts(script) values ('SET IDENTITY_INSERT ' + @tablename + ' OFF')
  set @fieldscript = ''

Deallocate curImportTables
  select @valuescript = @valuescript + 'case when ' + column_name + ' is null then ''null'' else '''''''' + convert(varchar(max), ' + column_name + ') + '''''''' end +'',''+'   from INFORMATION_SCHEMA.columns where table_name = @tablename and data_type not in('timestamp', 'image')

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/mssql/1367.shtml

最新文章
sql server 关于设置null的一 sql server 关于设置null的一

时间:2020-12-28

详解SQL游标的用法 详解SQL游标的用法

时间:2020-12-27

vs code连接sql server数据库步 vs code连接sql server数据库步

时间:2020-12-27

图书管理系统的sqlserver数 图书管理系统的sqlserver数

时间:2020-12-25

详解SQL 通配符 详解SQL 通配符

时间:2020-12-25

sql四大排名函数之ROW_NUM sql四大排名函数之ROW_NUM

时间:2020-12-25

SQLServer数据库处于恢复挂 SQLServer数据库处于恢复挂

时间:2020-12-24

Win10 64位安装个人版SQL20 Win10 64位安装个人版SQL20

时间:2020-12-24

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

sqlserver 导出插入脚本代码

2020-12-08 编辑:网络

复制代码 代码如下:

From @tbImportTables
@insertscript varchar(max)


@fieldscript varchar(max),
@deleted tinyint,
Declare curImportTables Cursor For
Declare @tablename varchar(128),

Open curImportTables


  Fetch Next From curImportTables Into @tablename, @deleted
  select @fieldscript = @fieldscript + column_name + ',' from INFORMATION_SCHEMA.columns where table_name = @tablename and data_type not in('timestamp', 'image')
DECLARE @tbImportScripts table(script varchar(max))
  set @valuescript = substring(@valuescript, 0, len(@valuescript) - 4)
Select * from @tbImportScripts
  If (@deleted = 1)
Select tablename, deleted
  begin

Close curImportTables
End
--Insert Into @tbImportTables(tablename, deleted) select table_name, 1 from INFORMATION_SCHEMA.tables where table_type = 'BASE TABLE'

@columnname varchar(128),
当然有其它工具可以做这件事,但如果客户不允许你在服务器乱装东西时这个脚本就会有用了。
Begin
  Insert into @tbImportScripts(script) exec ( @insertscript)

Insert Into @tbImportTables(tablename, deleted) values('tattribute', 1)
Fetch Next From curImportTables Into @tablename, @deleted
  set @fieldscript = substring(@fieldscript, 0, len(@fieldscript))
-- append all tables
WHILE @@Fetch_STATUS = 0

Insert Into @tbImportTables(tablename, deleted) values('tentitytype', 1)
DECLARE @tbImportTables table(tablename varchar(128), deleted tinyint)
  Insert into @tbImportScripts(script) values ('GO ')




  set @insertscript = 'select ''insert into ' + @tablename + '(' + @fieldscript + ') values(' + '''+' + @valuescript + ' + '')'' from ' + @tablename

    Insert into @tbImportScripts(script) values ('Truncate table ' + @tablename)
  Insert into @tbImportScripts(script) values ('SET IDENTITY_INSERT ' + @tablename + ' ON')

  set @valuescript = ''
-- append tables which you want to import
  end
@valuescript varchar(max),
  Insert into @tbImportScripts(script) values ('SET IDENTITY_INSERT ' + @tablename + ' OFF')
  set @fieldscript = ''

Deallocate curImportTables
  select @valuescript = @valuescript + 'case when ' + column_name + ' is null then ''null'' else '''''''' + convert(varchar(max), ' + column_name + ') + '''''''' end +'',''+'   from INFORMATION_SCHEMA.columns where table_name = @tablename and data_type not in('timestamp', 'image')

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/mssql/1367.shtml

相关文章

风云图片

推荐阅读

返回mssql频道首页