dux*_*x-- 0 sql sql-server ssms
我在sql server中有2个表(我没有创建这些表,但我必须使用它们):
document
- document_id
- created_date
trade_document
- trade_document_id
- document_id *foreign key to document table
Run Code Online (Sandbox Code Playgroud)
今天,我添加了一堆新trade_document记录(自动创建相关的document_id,这是使用完成的ORM),但我想删除所有这些记录.
我想这样做相对于该删除added_date的document表
其中created_date>昨天
我也希望document删除相关记录.
我对sql不是很了解,到目前为止我所有的基本模板都没有做太多:
DELETE FROM db.schema.trade_document (I'm guessing some sort of join on document)
WHERE document.created_date > 11/10/15
Run Code Online (Sandbox Code Playgroud)
它不是一个声明,可能是多个
您需要两个删除语句并按此顺序.
DELETE FROM db.schema.trade_document
WHERE document_id IN (SELECT document_id
FROM document
WHERE created_date > 11/10/15);
DELETE FROM db.schema.document
WHERE created_date > 11/10/15);
Run Code Online (Sandbox Code Playgroud)
供您参考,您也可以使用创建表格 DELETE CASCADE