您可以编写创建代码的代码。
我在这里为“MembershipProvider”数据库完成了它:http:
//granadacoder.wordpress.com/2007/11/29/membershipprovider-helper-to-transfer-data/
您可以根据需要进行修改。
注意双引号和单引号,他们会在计划中抛出一个活动扳手。
这是更大的代码示例的预览:
注意,它创建的代码可以在第二个 sql server 上运行。
select
'INSERT INTO dbo.aspnet_Applications ( ApplicationName,LoweredApplicationName,ApplicationId,[Description] ) values (' as [--Comment],
char(39) + t1.ApplicationName + char(39) , ',' ,
char(39) + t1.LoweredApplicationName + char(39) , ',' ,
char(39) + convert(varchar(38) , t1.ApplicationId ) + char(39) , ',' ,
char(39) + t1.Description + char(39)
, ')'
FROM
dbo.aspnet_Applications t1
下面是一个 Northwind 示例,它处理 CompanyName 和 Address 列中的单引号,并对 PrimaryKey 进行“不存在”检查。请注意,此表没有任何整数/数字,但只需删除单引号即可。如果您想检查空值,这是一个简单的 case 语句,如传真列中所示。
Select 'INSERT INTO dbo.Customers ( CustomerID,CompanyName,ContactName,ContactTitle,[Address],City,Region,PostalCode,Country,Phone,Fax ) ' as [--Comment],
'SELECT ' ,
char(39) + t1.CustomerID + char(39) , ',' ,
char(39) + REPLACE(t1.CompanyName , char(39) , char(39) + '+' + 'char(39)' + '+' + char(39) ) + char(39) , ',' ,
char(39) + t1.ContactName + char(39) , ',' ,
char(39) + t1.ContactTitle + char(39) , ',' ,
char(39) + REPLACE(t1.[Address] , char(39) , char(39) + '+' + 'char(39)' + '+' + char(39) ) + char(39) , ',' ,
char(39) + t1.City + char(39) , ',' ,
char(39) + t1.Region + char(39) , ',' ,
char(39) + t1.PostalCode + char(39) , ',' ,
char(39) + t1.Country + char(39) , ',' ,
char(39) + t1.Phone + char(39) , ',' ,
Fax = case
when t1.Fax is null then 'null'
else char(39) + t1.[Fax] + char(39)
end
, ' Where not exists (select null from dbo.Customers innerC where innerC.CustomerID = ' + char(39) + t1.CustomerID + char(39) + ')'
FROM
dbo.Customers t1