例如  
表 tb_cls
Create Table tb_cls
(
id int identity(1,1) primary key,
clsname char(20) not null,
orders int not null,
)问题
如何利用sql语句
当插入一个值的时候  让orders的值等于id的值

解决方案 »

  1.   

    搜索当前最大的id,在把orders设置为id加1
      

  2.   

    把 SELECT @@IDENTITY+1的结果插入就行了 
      

  3.   

    另类解法...直接把orders也设为自动增长就好了 最快捷省力的办法
      

  4.   

    楼上说的不错 最好 最简单的办法就是 把order也设置成自动增长  不管怎么插入 2个字段的值都一样 
      

  5.   

    1 2 楼的方法是可以~~, 只是不想那样做,  试试 4楼的
    6 7 楼的不知道以后多级分类,排序会不会有问题  。。  不敢用哎   还是ASP简单啊~~ 直接赋值 等于  ID 就好了
      

  6.   


    不知道怎么用  不会要在sql存储过程中写吧
      

  7.   


    存储过程中新插如数据,
    取IDSET @strID = @@IDENTITY然后执行更新!
      

  8.   

    select @@IDENTITY  获得刚才插入的ID  
      

  9.   

    晕~~  用的是access数据库  写不了存储过程,还是用土方法 。 
      

  10.   

    看来是不是我的问题说的不够清楚
    我用ASP把效果写出来
    不要用触发器,存储过程,ACCESS数据库不支持<%
    Dim Rs,Sql
    Sql="Select * From tb_cls"
    Set Rs=Server.Createobject("adodb.recordset")
    Rs.Open Conn,Sql,1,3
    Rs.AddNew
    Rs("clsname ")=clsname 
    Rs("orders ")=Rs("id")
    Rs.Update
    %>效果如代码所示,不用在去查询新的记录,直接赋值   Rs("Oders")=Rs("ID") 就好了