select client_code,client,client_tel, send_address from tb_general_orderclient_code -->client  -->client_tel   -->send_address 
  NULL      -->吴小姐  -->13829280567  -->工厂自取
  NULL      -->马小姐  -->1501999683   -->凯旋店取货
  NULL      -->尹先生  -->000   -->高步镇高龙路外经工业区
  NULL      -->梁先生  -->13509000328  -->万江江滨花园第一期
  NULL      -->阮小姐  -->13808842867  -->万江区石美上蓬朝工业区
  NULL      -->吴小姐  -->13829280567  -->工厂取client_code想从10081498777开始,依次10081498778,10081498779....
想要的结果:
  10081498777      -->吴小姐  -->13829280567    -->工厂自取
  10081498778      -->马小姐  -->1501999683   -->凯旋店取货
  10081498779      -->尹先生  -->000            -->高步镇高龙路外经工业区
  10081498780      -->梁先生  -->13509000328   -->万江江滨花园第一期
  10081498781      -->阮小姐  -->13808842867   -->万江区石美上蓬朝工业区
  10081498782      -->吴小姐  -->13829280567   -->工厂取

解决方案 »

  1.   


    --> 数据库版本:
    --> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
    --> 测试数据:[TB]
    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB]') 
    AND type in (N'U')) 
    DROP TABLE [TB]
    GO---->建表
    create table [TB]([A] varchar(100))
    INSERT INTO [TB]
    SELECT 1 UNION ALL
    SELECT 1 UNION ALL
    SELECT 1 UNION ALL
    SELECT 1 UNION ALL
    SELECT 1 UNION ALL
    SELECT 1 
    GO
    --> 查询结果
    SELECT *,10081498776 +ROW_NUMBER() OVER(ORDER BY GETDATE())
    FROM [TB]--> 删除表格
    --DROP TABLE [TB]
      

  2.   


    不好意思,我的SQL是2000的
      

  3.   

    可以用一个函数
    USE tempdb
    GO
    --/*-- 得到新编号的函数(未考虑并发处理)
    CREATE FUNCTION dbo.f_NextBH()
    RETURNS char(8)
    AS
    BEGIN
    RETURN(
    SELECT 
    'BH' + RIGHT(1000001 + ISNULL(RIGHT(MAX(BH), 6) ,0), 6)
    FROM tb)
    END
    --*/
    GO/*-- 得到新编号的函数(考虑并发处理)
    CREATE FUNCTION f_NextBH()
    RETURNS char(8)
    AS
    BEGIN
    RETURN(
    SELECT 
    'BH' + RIGHT(1000001 + ISNULL(RIGHT(MAX(BH), 6) ,0), 6)
    FROM tb WITH(XLOCK, PAGLOCK))
    END
    --*/
    GO
    --在表中应用函数
    CREATE TABLE tb(
    BH char(8)
    PRIMARY KEY
    DEFAULT dbo.f_NextBH(),
    col int)--插入资料
    BEGIN TRAN
    INSERT tb(
    col)
    VALUES(
    1) INSERT tb(
    col)
    VALUES(
    3) DELETE tb
    WHERE col = 3 INSERT tb(
    BH, col)
    VALUES(
    dbo.f_NextBH(), 14)
    COMMIT TRAN--显示结果
    SELECT * FROM tb
    /*--结果
    BH       col
    -------- -----------
    BH000001 1
    BH000002 14
    --*/
    GO-- 删除测试环境
    DROP TABLE tb
    DROP FUNCTION dbo.f_NextBH
    或者用临时表,建一个自增ID,再查。
      

  4.   

    select identity(int,10081498777,1) as id ,client_code,client,client_tel, send_address into #test from tb_general_order
      

  5.   

    select identity(int,10081498777,1),对头
      

  6.   

    我也觉得identity(int,10081498777,1)这样应该就可以了。
      

  7.   


    服务器: 消息 2752,级别 16,状态 1,行 1
    标识列 'id' 包含的 SEED 无效。
      

  8.   

    identity(int,10081498777,1)  
    改成
    identity(bigint,10081498777,1) 
      

  9.   

    select identity(bigint,10081498777,1) as id ,client_code,client,client_tel, send_address into #test from tb_general_order
      

  10.   

    你的数超过4字节32位了
    bigint从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型数据(所有数字)。存储大小为 8 个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。tinyint从 0 到 255 的整型数据。存储大小为 1 字节。
      

  11.   


    忽略了,把int 改成 numeric(38,0)看你想要多少位了