if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[purchase]') and OBJECTPROPERTY(id, N'IsTable') = 1)
drop table [dbo].[purchase]
GOcreate table purchase(
编号 int  identity(11001,1)   not null,
名称 nvarchar (255),
单价 money ,
编号reverse int,
primary key(编号)
)如何实现呢?

解决方案 »

  1.   

    create table purchase( 
    编号 int  identity(11001,1)  not null, 
    名称 nvarchar (255), 
    单价 money , 
    编号reverse as -编号, 
    primary key(编号) 
    ) insert purchase select 'a',0.5
    select * from purchase
    /*
    编号 名称 单价 编号reverse
    11001 a 0.50 -11001
    */
      

  2.   

    tony哥,这个,还可以这样定义的啊,?
      

  3.   

    create table tb( 
    编号 int  identity(11001,1)  not null, 
    名称 nvarchar (255), 
    单价 money , 
    编号reverse int, 
    primary key(编号) 

    goCREATE TRIGGER my_trig ON tb FOR INSERT
    as
      update tb set 编号reverse = 0 - (select 编号 from inserted) where 编号 = (select 编号 from inserted)
    goinsert into tb (名称 , 单价) values('a' , 1)
    insert into tb (名称 , 单价) values('b' , 2)select * from tbdrop table tb/*
    编号          名称                                                                                                                                                                                                                                                              单价                    编号reverse   
    ----------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- ----------- 
    11001       a                                                                                                                                                                                                                                                               1.0000                -11001
    11002       b                                                                                                                                                                                                                                                               2.0000                -11002(所影响的行数为 2 行)*/
      

  4.   

    说错了  那如果是编号的逆序呢   就是 编号是11001  编号reverse就是10011  这个怎么做呢
      

  5.   

    create table purchase( 
    编号 int  identity(11001,1)  not null, 
    名称 nvarchar (255), 
    单价 money , 
    编号reverse as reverse(编号), 
    primary key(编号) 
    ) insert purchase select 'a',0.5
    select * from purchase
    /*
    编号 名称 单价 编号reverse
    11001 a 0.50 10011
    */