SQL:你如何处理条件删除?

时间:2009-01-15 17:04:53

标签: sql

我很困惑如何编写存储过程来处理条件删除。

我有一个包含4列(IDABC)的表格,表格中的数据如下所示:

ID  | A             | B     | C
----------------------------------
1   | Debbie Jones  |       |   
2   | John Jones    |       |
3   | James Jones   |       |

ABC包含一个人的姓名。如何编写将删除Debbie Jones行的存储过程,而不影响BC列为空字符串的其他两行?

7 个答案:

答案 0 :(得分:4)

delete from YourLousyTableName
where A='Debbie'AND B='Jones'

假设ID = 1 A ='黛比'B ='琼斯'C =''

答案 1 :(得分:2)

那你需要另一个条件。如果你想删除Debbie Jones,那么你需要在你的情况下指明,通过指定A =“Debbie Jones”列或者ID列等于1。

当然,这假设ID和A列中的值是唯一的,并且可以唯一地标识该行。

答案 2 :(得分:1)

我可能不完全理解你的问题但是你在找这样的东西吗?

delete from Table
where [Name] = 'Debbie Jones';

答案 3 :(得分:0)

你的意思是DELETE FROM table WHERE A = "Debbie Jones";

答案 4 :(得分:0)

首先,您的示例需要在您的问题中正确格式化(使用代码标记!)

其次,我假设您正在尝试避免因名称删除而导致错误,因为可能存在重复的名称。在这种情况下,您可能只想删除ID号。

DELETE FROM MyTable WHERE ID=4

|ID|       A      |  B  |  C  |
|==|==============|=====|=====|
| 1| Debbie Jones | " " | " " |
| 2| John Jones   | " " | " " |
| 3| James Jones  | " " | " " |

答案 5 :(得分:0)

对于这种情况,我认为你不需要像存储过程那样的东西。如何尝试这个,

create procedure prcDelUsingID
@UID <Data Type of the ID column> 
as
delete from <Your Table Name>
where ID=@UID

按如下方式执行存储过程,

prcDelUsingID <ID of the Debbie Jones>

答案 6 :(得分:0)

您可以尝试以下命令:

x=sqldf(select * from [table_name] where A!='Derbie Jones')
相关问题