DELETE 语句从表中删除一行或多行。
调用
此语句可以在使用 DB2 CLI 函数的应用程序中使用,也可以通过 CLP 发出。
语法
>>-DELETE FROM--table-name--+-----------------------------+---->< '-WHERE--| search_condition |-' search_condition: .----------------------------------------------. V | |----+------------------------------------------+-+-------------| '-+-AND-+--+-----+--+-| predicate |------+-' '-OR--' '-NOT-' '-(search_condition)-' predicate: |--+-| basic predicate |-+--------------------------------------| +-| IN predicate |----+ +-| LIKE predicate |--+ '-| NULL predicate |--' basic predicate: |--| expression |--+-=--+--| expression |-----------------------| +-<>-+ +-<--+ +->--+ +-<=-+ +->=-+ '-||-' IN predicate: .-,--------------------. V | |--| expression |--+-----+--IN----(--| expression |--)-+--------| '-NOT-' LIKE predicate: |--| expression |--+-----+--LIKE--| expression |----------------| '-NOT-' NULL predicate: (1) |--| expression |-------IS--+-----+--NULL-----------------------| '-NOT-' expression: .-operator--------------------. V | |----+---+--+-literal----------+-+------------------------------| +-+-+ +-column-name------+ '---' +-(expression)-----+ +-special register-+ '-function---------' operator: |--+-/-+--------------------------------------------------------| +-*-+ +-+-+ '---'
记录:
描述
search_condition 的结果通过对每个指定谓词的结果应用指定的逻辑运算符(AND、OR 或 NOT)而导出。谓词对两个值作比较。如果未指定逻辑运算符,则搜索条件的结果就是指定的谓词的结果。
首先对圆括号内的搜索条件求值。如果圆括号未指定求值顺序,则 NOT 优先于 AND,而 AND 优先于 OR。同一优先级别的运算符的求值顺序未定义,这样可以优化搜索条件。
将对每一表行应用 search_condition,而删除掉的行就是 search_condition 的结果为真的那些行。
搜索条件中的每个 column-name 都必须标识一个表列。
不支持对 BLOB(n)、DATE、TIME 和 TIMESTAMP 数据类型执行算术运算。
规则
无。
示例
从 EMPLOYEE 表中删除雇员号(EMPNO)003002。
DELETE FROM EMPLOYEE WHERE EMPNO = '003002'
相关参考