几天前发的贴还是没人回呀,想揭贴给分都难呀,这版人气太磋了!!!高手告诉我还有那地方有MS_SQL的讨论呀,我不来这里了

解决方案 »

  1.   

    不是的,你写的太不具体了,就放一个文件在那,也不说报的什么错误,大家怎么知道,是什么事情呀?
    我初步看了一下,感觉是
    1、where   (书稿编审校流程.承印厂=NULL) AND (书号 IN @书号 )
    中的IN 有问题,应该改为‘=’;
    2、既然只有在UPDATE时才发生,在
    FOR INSERT, UPDATE 
    就不应包括INSERT
    3、还有你的SQL中,更新多条就会只按照最后的那条记录更新“书稿编审校流程 ”的。
    ----------------------------------------------------------------------
      

  2.   

    看来看去,感觉还是有些糊涂,
    1、select @factory=承印厂 from inserted
    2、SELECT @书号=印刷计划表头.书号 from 印刷计划表头,印刷计划表5
    where 印刷计划表头.编号= 印刷计划表5.编号
    1句取数据来自INSETED表,
    2句却与INSERTED无关,
    这样的话,你更新的数据不会出现偏差吗?
      

  3.   

    看来 六子儿 你是花心思看了,谢谢,即使问题解决不了,我也给你分了。我不希望人看都不看就唧唧歪歪。下面是我的疑问,烦请你解答一下。
    我的本意是
    书号 IN @书号  但@书号是最后一个记录呀,我是想取满足条件的一堆记录s. 我不会写此语句。
      

  4.   

    CREATE TRIGGER [tr_书稿编审校流程] ON [dbo].[印刷计划表5] 
    FOR UPDATE 
    AS
    begin
    if update(审核状态)
    begin
    declare @factory as varchar(50)select @factory=承印厂 from inserted
    SELECT 印刷计划表头.书号 into #tab from 印刷计划表头,印刷计划表5
    where 印刷计划表头.编号= 印刷计划表5.编号
    update 书稿编审校流程  
    set  书稿编审校流程.承印厂=  @factory
    where   (书稿编审校流程.承印厂=NULL) AND (书号 IN (select * from #tab) )
    end
    end