如果不熟悉SQL语句的话,建议用代码解决问题,直截了当,
再就多看SQL的帮助文件,呵呵游标
Microsoft® SQL Server™ 语句产生完整的结果集,但有时候最好对结果进行逐行处理。打开结果集中的游标,即可对结果集进行逐行处理。在 SQL Server 7.0 版中,还可以将游标指派给带有 cursor 数据类型的变量或参数。下面这些语句支持游标操作:CLOSECREATE PROCEDUREDEALLOCATEDECLARE CURSORDECLARE @local_variableDELETEFETCHOPENUPDATESET下面这些系统函数和系统存储过程也支持游标:@@CURSOR_ROWSCURSOR_STATUS@@FETCH_STATUSsp_cursor_listsp_describe_cursorsp_describe_cursor_columnssp_describe_cursor_tables

解决方案 »

  1.   

    CREATE TRIGGER cw_km_ins ON cw_km FOR INSERT AS
    BEGIN
    DELETE a FROM cw_mxkm a
    where exists(select 1 from inserted where kmbm like a.kmbm + '_%') INSERT INTO cw_mxkm SELECT kmbm,kmmc 
    FROM inserted i
    where not exists(
    select 1 from inserted where kmbm like i.kmbm+'_%')
    and not exists(
    select 1 from cw_mxkm where kmbm like i.kmbm+'_%')
    END
      

  2.   

    TO :huanyi(残荷淡月)
        你还没有明白我的意图。再说用游标当然可以,但在触发器中使用游标,耗费资源太大,并且我试过,太慢
    TO:zjcxc(邹建) 
        我虽然没有试过,不知道行不行,不过和我的原触发器唯一的不同是加了一个限制条件
    not exists(select 1 from inserted where kmbm like i.kmbm+'_%')  晚上试试