c#,sqlserver。写一下我将前端获取到的缓存数据批量插入数据库的表。
在sqlserver数据库下,展开(可编程性)-->(类型)-->(用户自定义表类型)。建一个自定义表类型,表类型结构即是前端传过来的表格数据结构。例如:
CREATE TYPE [dbo][DT_SAP_ASN] AS TABLE(
[GUID] [nvarchar](50) NULL,
[VBELN_SIP] [nvarchar](30) NULL,
[POSNR_SIP] [nvarchar](30) NULL
)
GO
然后再写个存储,用于调用此存储批量将前端传入的datatable缓存数据批量插入数据库的某个表。例如:
CREATE PROC [dbo][SP_EDI_SAP_ASN]
(
@DT_SAP_ASN DT_SAP_ASN READONLY --输入参数,刚刚自定义的表类型
)
AS
BEGIN
SET NOCOUNT OFF
INSERT INTO dboEDI_ASN_Log
( ID ,
GUID ,
VBELN_SIP ,
POSNR_SIP ,
)
SELECT NEWID() ,
GUID ,
VBELN_SIP ,
POSNR_SIP
FROM @DT_SAP_ASN
SET NOCOUNT ON
END
当然,去重的话在inset那边select表#DT_SAP_ASN distinct一下即可
最简单的办法,是在MSSQL中导入数据,数据源选择EXCEL,将这个文件导入到你指定的数据库中,会生成一个新的数据表,再通过SQL语句将这个表中你需要的字段写入到你之前的要插入的表中对应的字段下。
如果不是MSSQL数据库,是MySQL数据库,可以将EXCEL文档另存为记事本,然后再导入这个文档文档到数据库中已经建立好的表中。
MSSQL与MySQL不同的是,MSSQL不需要事前建表,会自动生成一个表;MySQL需要建好表再导入到这个表中。
其他的数据库用的少,不能给你建议。
--具体 *** 作不会,可以百度下“EXCEL数据导入到数据库中”。
--你这个分类错了,应该不是办公软件的问题,是数据库问题。
以上就是关于如何高效实现批量插入数据,并去重全部的内容,包括:如何高效实现批量插入数据,并去重、SQL 批量插入数据,来源在EXCEL中、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)