SQL Server 导出插入数据脚本
对于sql sever中的数据如果想实现导出,一般有几种方案,下面介绍两种:
1.利用Generate Scripts 向导
右键数据库=>tasks=>generate scripts
a.
b. 

c.

d.

2. 利用sql 生成
数据库表 batchbackup 的结构
1 USE [eRebate] 2 GO 3 4 /****** Object: Table [dbo].[Batchbackup] Script Date: 03/16/2018 15:36:27 ******/ 5 SET ANSI_NULLS ON 6 GO 7 8 SET QUOTED_IDENTIFIER ON 9 GO 10 11 CREATE TABLE [dbo].[Batchbackup]( 12 [Id] [int] IDENTITY(1,1) NOT NULL, 13 [Code] [nvarchar](max) NULL, 14 [Desc] [nvarchar](max) NULL, 15 [Date] [datetime] NULL, 16 [Status] [int] NOT NULL, 17 [BeforeStatus] [int] NOT NULL, 18 [TaskCode] [nvarchar](max) NULL, 19 [Policy_Id] [int] NULL, 20 [IsDeleted] [bit] NOT NULL, 21 [AreaType] [int] NOT NULL, 22 CONSTRAINT [PK_dbo.Batchbackup] PRIMARY KEY CLUSTERED 23 ( 24 [Id] ASC 25 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 26 ) ON [PRIMARY] 27 28 GO 29 30 ALTER TABLE [dbo].[Batchbackup] ADD DEFAULT ((0)) FOR [IsDeleted] 31 GO 32 33 ALTER TABLE [dbo].[Batchbackup] ADD DEFAULT ((0)) FOR [AreaType] 34 GO
生成insert 语句:
1 select 'INSERT INTO [eRebate].[dbo].[Batch] 2 ([Id], 3 [Code] 4 ,[Desc] 5 ,[Date] 6 ,[Status] 7 ,[BeforeStatus] 8 ,[TaskCode] 9 ,[Policy_Id] 10 ,[IsDeleted] 11 ,[AreaType]) 12 VALUES(''' 13 + CAST(Id as NVARCHAR) + ''',''' 14 + Isnull(Code,'null')+ ''',''' 15 + [Desc]+''',''' 16 + convert(nvarchar,[date],20)+''',''' 17 + CAST([status] as NVARCHAR) + ''',''' 18 + CAST([BeforeStatus] as NVARCHAR) + ''',''' 19 + Isnull(TaskCode,'null')+ ''',''' 20 + Isnull(CAST(Policy_Id as NVARCHAR),'null') + ''',''' 21 + CAST(IsDeleted as NVARCHAR) + ''',''' 22 + CAST(AreaType as NVARCHAR) + ''')' as insertscript FROM dbo.Batch;
将生成的结果拷出并且替换掉 'null' => null
在结果前加上:
1 SET QUOTED_IDENTIFIER ON 2 SET IDENTITY_INSERT [dbo].[Batch] ON
执行完毕即可插入到对应的表中

浙公网安备 33010602011771号