是否是province=province_bak且city=city_bak?
没有说清?

解决方案 »

  1.   

    create trigger tr_tr1 on tablename
    as insert
    declare @province varchar(50),
    @city varchar(50)
    set nocount on
    update tablename set province_bak=province,city_bak=city
    set nocount off
      

  2.   

    create trigger tr_tr1 on tablename
    as insert
    set nocount on
    update tablename set province_bak=province,city_bak=city
    set nocount off这样就可以了
      

  3.   

    create trigger_name on tablename for insert 
    as
    update tablename set Province=inserted.province_bak,city=inserted.city_bak
      

  4.   

    是让 province_bak=province且city_bak=cityCREATE TRIGGER bakrecord on dbo.test FOR insert 
    as
    UPDATE dbo.test SET province_bak=inserted.province,
    city_bak=inserted.city提示:列前缀"inserted"与查询中所用的表名或别名不匹配.
    列前缀"inserted"与查询中所用的表名或别名不匹配.
    哪里错了? 谢谢
      

  5.   

    (province)省   city(市)   province_bak(省)   city_bak(市)
    这不是一个表中的字段吧?
      

  6.   

    这个在Oracle 中属于变异表..
    在Oracle 中可以这么解决
    create trigger tr_tr1 on tablename
    as insert
    set nocount on
    update tablename set province_bak=province,city_bak=city
    update of update of (province)省   city(市)
    set nocount off
      

  7.   

    SQL 中不知道怎么解决??
      

  8.   

    这里是 MS-SQL Server, 问的就是SQL, 呵呵
    顶~
      

  9.   

    是记录update之后province_bak=原来的province,city_bak=原来city
             还是province_bak=province,city_bak=city
    如果是后者,又何苦多此一举,在前台直接更新不就行了。
    或者仅仅不想在插入记录时使province_bak,city_bak放空,在前台插入记录时把province_bak,city_bak的值也赋上就行。
    sql server触发器中插入的数据放在inserted表中实现你的目的,用以下代码
    CREATE TRIGGER bakrecord on dbo.test FOR insert 
    as
    UPDATE a SET province_bak=b.province,
    city_bak=b.city
    from dbo.test a,inserted b where a.username=b.username
      

  10.   

    to cxmcxm(小陈) ( ): 正解!