你的delete语句少了"from 表名"语句。

解决方案 »

  1.   

    我使用下面的方法去删除,但只能删除pr_sbjb中的数据,不能删除pr_sbzh的信息内容 
                    s:=dbedit1.Text ;
                      s1:=s;
                     with query1 do begin
                        close;
                        sql.Clear;
                        sql.Add('delete pr_sbjb');
                        sql.Add('where dwdm='''+s+''' ');
                        prepare;
                        execsql;
                     end;
                     with query1 do begin
                        close;
                        sql.Add('delete pr_sbzh');
                        sql.Add('where dwdm ='''+s1+'''');
                        prepare;
                        execsql;
                     end;
    晴大家帮我看一下
      

  2.   

    我虽然不懂大型SQL
    但是你的问题好象在于
    delete pr_cbzh where pr_cbzh.dwdm=PR_CBJB.dwdm
    如果错了别见笑
    我从未用过sqlserver
      
      

  3.   

    老兄:select dwdm from deleted这句话什么意思?deleted是表名吗?好象意思是调用删除吧?我也不太明白!提供一个思路而已!不要笑我!!
      

  4.   

    是不是 因为少了from ?
      

  5.   

    SQL Error: SQL Server - [Microsoft][ODBC SQL Server Driver][SQL Server]Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression
    这个错误的根源是什么?
      

  6.   

    我按你的语句编写了一个同样的触发器,发现:如果先建立了外键联系时,触发器不触发,而是先产生“已经存在外部联系,不能被删除。”的错误;如果没有建立外键就正常。
    因为 ms SQL7 不支持级联删除,所以这类问题还是有点麻烦,不过听说 msSQL2000 支持了。根据:
                    with query1 do begin
                        close;
                        sql.Clear;
                        sql.Add('delete pr_sbjb');
                        sql.Add('where dwdm='''+s+''' ');
                        prepare;
                        execsql;
                    end;
                    with query1 do begin
                        close;
                        sql.Add('delete pr_sbzh');
                        sql.Add('where dwdm ='''+s1+'''');
                        prepare;
                        execsql;
                    end;
    可以知道你的表间没有建立外键联系,所以以上触发器应该能正常工作呀。
    另外我不明白你为什么说 “但只能删除pr_sbjb中的数据,不能删除pr_sbzh的信息内容 
    ”?即使在没有触发器的情况下也应该正常工作呀。