sqlSever excel数据导入表中,表的ID格式化生成。

1、查询 itemList表.

SELECT * FROM dbo.itemList

如图:

<图一>

itemList 共有 28条数据

现在我要实现,从excel数据导入itemList这个表,要求 itemId 里面的值 符合P*********格式,并且是接着递增,如在新增应为P000000029,

但是这个itemId是程序生成的,如何在插入时候自动生成,P000000030,P000000031...格式呢。

1、将excel数据格式导入数据库,这时候生成表 temp.

2、查询temp表,查询出来的结果集符合itemList现有数据如下:

SELECT *

FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY itemId ) AS number ,
*
FROM dbo.temp
) t

注:其中 number为行号。

<图二>

将图二的数据插入itemList,如下sql

INSERT INTO [electrolux].[dbo].[itemList]
  ([itemId]
  ,[itemName]
  ,[itemGroup]
  ,[stdPrice]
  ,[splPrice]
  ,[imageSrc]
  ,[status]
  ,[orgId]
  ,[orgName]
  ,[remark]
  ,[creator]
  ,[createDate]
  ,[lastUpdator]
  ,[lastUpdate]
  ,[endDate]
  ,[limitCount]
  ,[totalCount]
  ,[packageGiftName])

SELECT dbo.fn_GetProductId(( ROW_NUMBER() OVER ( ORDER BY [Model] ) )) AS itemId,
  [Model] AS itemName ,
  ‘‘ AS itemGroup ,
  [Retail Price (RMB)] AS stdPrice ,
  [Price Offer(RMB)] AS splPrice ,
  ‘‘ AS imageSrc ,
  ‘Y‘ AS status ,
  20 AS orgId ,
  ‘‘ AS orgName ,
  [Product Name] AS remark ,
  ‘admin‘ AS creator ,
  GETDATE() AS createDate ,
  ‘admin‘ AS lastUpdator ,
  GETDATE() AS lastUpdate ,
  DATEADD(mm,2,GETDATE()) AS endDate ,
  NULL AS limitCount ,
  NULL AS totalCount ,
  ‘‘ AS packageGiftName
FROM [electrolux].[dbo].[temp] ORDER BY model asc

返回特定合适的itemId函数如下:

USE [electrolux]
GO
/****** Object: UserDefinedFunction [dbo].[fn_GetProductId] Script Date: 01/15/2015 16:52:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <[email protected]>
-- Create date: <2015-01-08 10:15:46.123>
-- Description: <根据行号返回特定格式的产品ID>
-- =============================================
ALTER FUNCTION [dbo].[fn_GetProductId] ( @rowNumber INT )
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @maxId INT --最大的ID
DECLARE @maxIdText VARCHAR(100) --返回的格式

SELECT @maxId = CONVERT(INT, REPLACE(ISNULL(MAX(itemId), ‘P0‘), ‘P‘,
‘‘)) + @rowNumber
FROM dbo.itemList
SELECT @maxIdText = ‘P‘ + REPLICATE(‘0‘, 9 - LEN(@maxId))
+ CAST(@maxId AS VARCHAR)

RETURN @maxIdText

END

完毕,往往插入数据的时候,特定格式的ID可以这么来生成。

时间: 2024-10-04 03:53:09

sqlSever excel数据导入表中,表的ID格式化生成。的相关文章

MATLAB/Excel-如何将Excel数据导入MATLAB中

在使用MATLAB对矩阵进行数据处理时,为了方便编辑与修改,常常需要先将数据录入到Excel中,然后再将其导入到MATLAB中参与矩阵运算.本文在MATLAB 2013a和Office 2013环境下向大家演示如何将Excel数据导入到MATLAB中,其他版本的MATLAB.OFFICE方法大同小异,一起来看一下 工具/原料   Excel数据文件(格式xls或xlsx) MATLAB 7.x + 方法/步骤     将待导入的矩阵结构的数据录入Excel中,录入时注意行列要跟原矩阵一一对应  

上传Excel数据到数据库中(Asp.net自动生成三层代码 第六集 )

上传文件 string savePath = Server.MapPath("~/upload/");//指定上传文件在服务器上的保存路径 //检查服务器上是否存在这个物理路径,如果不存在则创建 if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } if (FileUpload1.HasFile) { string fileExtension = Pat

Sqoop1.4.4将MySQL数据库表中数据导入到HBase表中

问题导读:         1.--hbase-table.--hbase-row-key.--column-family及--hbase-create-table参数的作用? 2.Sqoop将关系型数据库表中数据导入HBase中,默认Rowkey是什么? 3.如果关系型数据库表中存在多关键字,该怎么办? 一.简介及部分重要参数介绍 Sqoop除了能够将数据从关系型数据库导入到HDFS和Hive中,还能够导入到HBase表中. --hbase-table:通过指定--hbase-table参数值

效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转

效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载])  本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较   (三)SSIS的简介   (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介绍一下)   (六)SSIS操作过程(生成Package,用来调用)(下一篇随笔将详细讲解制作Package包的过程,图片太多,篇幅过长,因此本文将直接采用生成的Package包进行

VBS将本地的Excel数据导入到SQL Server中

最近有个测试,需要将本地的Excel数据导入到SQL Server中,所以就写了一个这个脚本,供有需要的同学进行参考.因为在此演示测试,所以准备的数据都比较简单. 我们准备将本地的Excel的A列插入到数据库中的Username列 首先准备本地的Excel数据 然后准备数据库及表结构 开始上脚本 Dim DB,objRecordSet Dim Excel 'SQL Server服务器地址 Dim SQLserver 'SQL Server 数据库 Dim Database 'SQL Server

指定数据导入到新表

指定数据导入到新表 select*into  testofxin9(新表名) from  [dbo] .['1436950351805$'] (就表名) where   [商品名称] like '%电信%' 原文地址:https://www.cnblogs.com/ComputerVip/p/11624716.html

excel数据导入到sqlserver中---------工作笔记

调用页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using JuMi.BLL.Business; using System.Data; using System.Data.OleDb; using System.Windows.Forms; using Ju

java实现EXCEL数据导入到数据库中的格式问题的解决

之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. 但是,每次导入的时候还会因为格式问题而惴惴不安,最近把代码拿来研究了一下,网上查了一下. 原来是从cell里取出数据后没有做格式匹配直接赋值导致的.因此,在取出数据写入数据库前做一下格式匹配就好了. SO FRUSTRATED BY THE PREVIOUS IGNORANCE! 1 //把EXC

excel数据导入导出数据库

第一种方法: 先把Excel另存为.csv格式文件,如test.csv,再编写一个insert.ctl 用sqlldr进行导入! insert.ctl内容如下: load data          --1.控制文件标识 infile ‘my.csv‘          --2.要输入的数据文件名为my.csv append into table "tbl_test"   --3.向表table_name中追加记录 fields terminated by ‘,‘