`
少女杀手
  • 浏览: 131653 次
  • 性别: Icon_minigender_1
  • 来自: 约旦河西岸
社区版块
存档分类
最新评论

将表中的数据生成插入语句

    博客分类:
  • SQL
Go 
阅读更多
use master
go

if exists(select * from sysdatabases where name='MyTest')
drop database MyTest
go

create database MyTest
on
(
name='MyTest_Data',
filename='D:\Database\MyTest_Data.mdf',
filegrowth=10%,
size=3MB
)
Log on
(
name='MyTest_Log',
filename='D:\Database\MyTest_Log.ldf',
filegrowth=10%,
size=3MB
)
go

use MyTest
go

if exists(select * from sysobjects where name='Test')
drop table Test
go

create table Test
(
tid int primary key identity(1,1) not null,
tname varchar(50) not null,
tpass varchar(50) not null,
tsex varchar(3),
tbirthday datetime
)
go

insert into Test values('shallon','shally','女','19861016')
insert into Test values('shally','shally','女','19940220')
insert into Test values('xueying','shally','女','19940331')
insert into Test values('aquila','shally','男','19870918')

select * from Test

---生成插入语句的存储过程

if exists(select * from sysobjects where name='proc_insert')
drop proc proc_insert
go

create proc proc_insert (@tablename varchar(256))
as
begin
set nocount on
declare @sqlstr varchar(4000)
declare @sqlstr1 varchar(4000)
declare @sqlstr2 varchar(4000)
select @sqlstr='select ''insert '+@tablename
select @sqlstr1=''
select @sqlstr2=' ('
select @sqlstr1= ' values ( ''+'
select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
-- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
when a.xtype =127 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(20),'+a.name +')'+' end'
when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
when a.xtype =56 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end'
when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
-- when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
else '''NULL'''
end as col,a.colid,a.name
from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36
)t order by colid

select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename
-- print @sqlstr
exec( @sqlstr)
set nocount off
end
go

exec proc_insert Test --执行存储过程,只需要指定表名


select * from systypes
分享到:
评论

相关推荐

    生成SQL插入语句(生成insert语句)

    传入表得到插入的脚本语句,提高自己写插入语句的麻烦.数据管理者必备知识.

    将表中数据生成SQL语句!

    将表中数据生成SQL语句! 在开发过程中,我们经常需要将表中的数据转移到其他地方,如果是在同一台机器,可以使用SQL自带的导入数据功能,但是如果我们想让所有的数据生成可执行的SQL语句,那么它的移植性将是最强...

    表格生成SQL插入语句

    "表格生成SQL插入语句"是一种工具或技术,它能够帮助我们快速、高效地将表格数据转化为SQL的INSERT INTO语句,进而方便地将这些数据导入到数据库中。这个过程对于数据迁移、备份或测试数据的准备等场景尤其有用。 ...

    excel表生成数据库SQL插入语句工具

    4. **生成SQL语句**:工具按照每行数据生成对应的SQL插入语句。如果数据量大,可以生成一个包含多条INSERT语句的大批量插入脚本,以便一次性执行。 5. **保存或复制SQL脚本**:生成的SQL脚本可以被保存为文本文件,...

    数据库表生成插入语句工具

    综上所述,"数据库表生成插入语句工具"是一个实用的数据库管理助手,尤其对于需要频繁处理大量数据插入的开发者而言,它能显著提高工作效率,减少手动工作,并确保数据导入的准确性。通过选择合适的工具并结合其功能...

    SQL SERVER 将select数据生成insert语句

    在这种情况下,`SELECT INTO` 和 `INSERT INTO...SELECT` 语句是常用的工具,可以将数据从一个源转换为插入语句。本文将详细介绍如何使用这些方法,并提供一个实用的小工具——SelectInsertTable,帮助用户更方便地...

    excel文件中批量生成insert语句

    在Excel中,可以手动在每个日期单元格前添加单引号,或者在公式中处理,确保日期以文本形式插入到SQL语句中。 3. **复制公式**:将G1单元格中的公式向下拖动填充到所有需要生成INSERT语句的行,Excel会自动替换对应...

    Sqlserver表数据导出成Insert语句的工具

    此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。

    sqlserver表数据生成insertsql脚本(导出成insertsql脚本).pdf

    同时,脚本还将包括INSERT INTO语句,以便将数据插入到目标表中。 INSERT SQL脚本的应用场景 生成INSERT SQL脚本的应用场景非常广泛,例如: * 数据迁移:当我们需要将数据从一个数据库迁移到另一个数据库时,...

    C#SQL插入语句生成

    本教程将详细讲解如何使用C#来生成SQL插入语句,并将这些语句导出到TXT文件中。 首先,我们需要理解SQL插入语句的基本结构。在SQL中,`INSERT INTO`语句用于向表中添加新的数据行。其基本格式如下: ```sql INSERT...

    SQL SERVER 数据自动生成SQL语句

    这个功能使得用户能够快速地根据数据库中的表结构和已有数据,生成相应的SQL插入语句,以便将这些数据移植到其他数据库系统中。在软件开发过程中,尤其是在创建安装程序时,这种工具显得尤为便利。 首先,我们要...

    将数据库中的数据生成插入语句(用于数据的导出与导入)

    最近几天公司要总是传数据,原来直接用SQL 语句传来传去的,当在两个不同版本的数据库之间传数据里比较麻烦,所以就写了一个Winform的小程序,来解决这个问题, 希望对大家有用,拿出来与大家分享一下: SQL,C#,数据导入,...

    sql语句生成工具,可以生成数据插入语句

    能生成数库中insert 语句,数据插入语句,速度快很好用.......

    根据SQL数据库中数据生成Insert语句

    只需输入数据库名,并可选择对应的表对表中数据进行生成Insert插入语句。

    生成数据库值为插入语句

    7. **数据库设计与规范化**:在生成插入语句前,理解数据库的ER模型(实体关系模型)和表的设计至关重要。规范化可以减少数据冗余和提高数据一致性。 8. **数据备份与恢复**:在大规模插入前,最好先备份数据库,以...

    数据库表导出插入语句

    这就是"数据库表导出插入语句"的主要应用场景。这个过程通常涉及到生成一系列的INSERT INTO SQL语句,每条语句对应表中的一行数据。以下我们将详细讲解如何实现这一操作。 1. **SQL INSERT INTO语句**:这是SQL语言...

    Delphi把数据库数据转换成SQL插入语句.rar

    Delphi程序将遍历数据表中的每一行,为每一行生成对应的SQL插入语句,然后可以将这些语句导出为文本文件,供后续使用。 值得注意的是,此项目还使用了一些界面控件,可能包含一个简单的用户界面,允许用户交互地...

    从SQLSERVER数据库中导出记录生成insert into 语句

    从SQLSERVER数据库中导出记录生成insert into 语句

    PyCharm生成数据库表结构语句脚本以及数据库数据insert语句的方法.docx

    在生成数据库数据 insert 语句时,PyCharm 也提供了多种选项可以调整,例如,可以选择生成的 SQL 语句的格式、是否包含注释、是否生成插入语句的头部等等。这使得开发者可以根据需要自定义生成的 SQL 语句脚本。 ...

    表格生成SQL插入语句.zip

    它包含了一个名为"表格生成SQL插入语句.exe"的应用程序,这可能是一个工具,用于自动化地将Excel文件(如"BA_FYLBK.xls")中的数据转换成可以执行的SQL插入语句。这种工具能够显著提高工作效率,避免手动编写大量...

Global site tag (gtag.js) - Google Analytics