如何通过传递单个变量从两个表中删除一行 [英] how to delete a row from two table by passing single variable

查看:85
本文介绍了如何通过传递单个变量从两个表中删除一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用下面的代码通过传递单个值来删除两个表中的行但是我得到的错误就像



'',''附近的语法不正确>


i used below code to delete rows from two table by passing single value but i am getting error like

Incorrect syntax near '',''

DELETE messages ,usersmessages FROM messages INNER JOIN usersmessages
WHERE messages.messageid= usersmessages.messageid and messages.messageid = 1

推荐答案

尝试



Try

BEGIN TRY  
  BEGIN TRANSACTION  

   DELETE FROM usersmessages
   WHERE  messageid = 1

   DELETE FROM messages 
   WHERE  messageid = 1


  COMMIT TRANSACTION  
 END TRY  
 BEGIN CATCH  
  ROLLBACK TRANSACTION  
 END CATCH  


begin transaction;

   declare @deletedIds table ( id int );

   delete t1
   output deleted.id into @deletedIds;
   from table1 t1
    join table2 t2
      on t2.id = t1.id
    join table3 t3
      on t3.id = t2.id;

   delete t2
   from table2 t2
    join @deletedIds d
      on d.id = t2.id;

   delete t3
   from table3 t3 ...

commit transaction;





快乐编码:)



Happy Coding :)


请阅读DELETE查询语法



Please Read the DELETE Query Syntax

DELETE FROM table_name
WHERE some_column=some_value


这篇关于如何通过传递单个变量从两个表中删除一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆