SQL Server:insert 语句实现序号自增和指定字段自增

1.原插入sql语句

INSERT INTO[Base_Commodity]([ID],[Num],[Code],[Name],[Attr],[SupplierCode],[Sku],[HSCode],[Gmodel],[Brand],[SubName],[Unit],[UnitName],[Unit1],[Unit1Name],[Unit2],[Unit2Name],[Curr],[CurrName],[DistrictCode],[DistrictName],[CheckState],[CheckCode],[CheckDate],[CheckInfo],[Remarks],[OwnerCode],[CreateCode],[CreateDate],[ModifyCode],[ModifyDate],[Price],[FOBPrice],[PurPrice],[PurCurr],[PurCurrName],[Rate],[IterativeNo])VALUES(
        NEWID( ), -- 生成一个唯一标识符(GUID)
        8,   --序号
        N'9099',  -- 需要自增
        N'9099商品名称',  -- 与自增同步修改

        NULL,
        NULL,
        NULL,
        N'6601100000',
        N'1|0|款式:低帮,未过踝|飞织面|PHYLON底|品牌:VITIKE,中文品牌:威泰克|货号:8091',
        N'VITIKE',
        N'9099品名', -- 与自增同步修改
        N'025',
        N'双',
        N'035',
        N'千克',
        N'025',
        N'双',
        NULL,
        NULL,
        NULL,
        NULL,
        N'0',
        NULL,
        NULL,
        NULL,
        NULL,
        N'3502100081',
        N'admin',
        GETDATE(),-- 创建时间
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        N'142',
        N'人民币',
        NULL,
    NULL 
    );

2.编写查询出count的语句

SELECT 
        NEWID(), 
        AAA.COUNT,   --
        N'9099',  
        N'8094商品名称',  
        NULL,
        NULL,
        NULL,
        N'6601100000',
        N'1|0|款式:低帮,未过踝|飞织面|PHYLON底|品牌:VITIKE,中文品牌:威泰克|货号:8091',
        N'VITIKE',
        N'8094品名', 
        N'025',
        N'双',
        N'035',
        N'千克',
        N'025',
        N'双',
        NULL,
        NULL,
        NULL,
        NULL,
        N'0',
        NULL,
        NULL,
        NULL,
        NULL,
        N'3502100081',
        N'admin',
        GETDATE(),
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        N'142',
        N'人民币',
        NULL,
    NULL 
FROM  (
SELECT COUNT(1)+1 COUNT FROM Base_Commodity WHERE OwnerCode='3502100081' 

)  AAA 

3.改写进insert语句
INSERT INTO[Base_Commodity]([ID],[Num],[Code],[Name],[Attr],[SupplierCode],[Sku],[HSCode],[Gmodel],[Brand],[SubName],[Unit],[UnitName],[Unit1],[Unit1Name],[Unit2],[Unit2Name],[Curr],[CurrName],[DistrictCode],[DistrictName],[CheckState],[CheckCode],[CheckDate],[CheckInfo],[Remarks],[OwnerCode],[CreateCode],[CreateDate],[ModifyCode],[ModifyDate],[Price],[FOBPrice],[PurPrice],[PurCurr],[PurCurrName],[Rate],[IterativeNo])
SELECT 
        NEWID(), --
        AAA.COUNT,   --
        N'9099',  
        N'8094商品名称',  
        NULL,
        NULL,
        NULL,
        N'6601100000',
        N'1|0|款式:低帮,未过踝|飞织面|PHYLON底|品牌:VITIKE,中文品牌:威泰克|货号:8091',
        N'VITIKE',
        N'8094品名', 
        N'025',
        N'双',
        N'035',
        N'千克',
        N'025',
        N'双',
        NULL,
        NULL,
        NULL,
        NULL,
        N'0',
        NULL,
        NULL,
        NULL,
        NULL,
        N'3502100081',
        N'admin',
        GETDATE(),
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        N'142',
        N'人民币',
        NULL,
    NULL 
FROM  (
SELECT COUNT(1)+1 COUNT FROM Base_Commodity WHERE OwnerCode='3502100081' 

)  AAA 

4.编写语句查询序号最大值并+1

SELECT MAX(  CONVERT(INT, Code) )+1 CODE FROM Base_Commodity
WHERE OwnerCode='3502100081'

5.定义CODE变量并用在插入语句中

DECLARE @Code NVARCHAR(50);  
SET @Code =( SELECT MAX(  CONVERT(INT, Code) )+1 CODE FROM Base_Commodity
WHERE OwnerCode='3502100081' ); 


INSERT INTO[Base_Commodity]([ID],[Num],[Code],[Name],[Attr],[SupplierCode],[Sku],[HSCode],[Gmodel],[Brand],[SubName],[Unit],[UnitName],[Unit1],[Unit1Name],[Unit2],[Unit2Name],[Curr],[CurrName],[DistrictCode],[DistrictName],[CheckState],[CheckCode],[CheckDate],[CheckInfo],[Remarks],[OwnerCode],[CreateCode],[CreateDate],[ModifyCode],[ModifyDate],[Price],[FOBPrice],[PurPrice],[PurCurr],[PurCurrName],[Rate],[IterativeNo])

SELECT 
        NEWID(),
        AAA.COUNT,   
        @Code,  
        @Code+N'商品名称',  

        NULL,
        NULL,
        NULL,
        N'6601100000', 
        N'1|0|款式:低帮,未过踝|飞织面|PHYLON底|品牌:VITIKE,中文品牌:威泰克|货号:8091',
        N'VITIKE',
        @Code+N'品名', 
        N'025',
        N'双',
        N'035',
        N'千克',
        N'025',
        N'双',
        NULL,
        NULL,
        NULL,
        NULL,
        N'0',
        NULL,
        NULL,
        NULL,
        NULL,
        N'3502100081',
        N'admin',
        GETDATE(),
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        N'142',
        N'人民币',
        NULL,
    NULL 
FROM  (
SELECT COUNT(1)+1 COUNT FROM Base_Commodity WHERE OwnerCode='3502100081' 

)  AAA 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值