0

我尝试使用高级查询编写删除查询。但是不要不知道如何提前编写查询查询我仍然尝试过,但我收到错误。请帮助我如何通过示例编写查询。

我只想从“EnvelopeHeader”实体中删除所有数据。

我收到以下错误

4

3 回答 3

1

我不熟悉这个版本的 SQL。但是,我的直觉告诉我,您需要将整个 select 语句包装在两个圆括号中。并且可能选择语句应该只包含一列。

像这样的东西

DELETE FROM table
WHERE ID IN
( select EH_id FROM some_other_table)
于 2015-09-26T00:53:03.980 回答
1

如果你正在使用

DELETE FROM table
WHERE table.column IN (...)

这意味着您的内部查询必须返回与 table.column 具有相同类型的值列表。

在您的情况下,您的内部查询:

  1. 正在选择一堆 o 列,并且应该只选择一个
  2. 选择多列时,您需要用逗号分隔要选择 col1、col2 的列
  3. 您需要为内部查询指定 FROM 语句

它应该是这样的

DELETE FROM {table}
WHERE {table}.[column] in
(SELECT {table}.[column] FROM {table} WHERE <condition>)

另外不要忘记,如果要使用参数,可以使用@param_name 引用它们

于 2015-09-27T21:09:23.797 回答
0

如果要删除该实体中的所有记录,只需使用

DELETE * FROM {EnvelopeHeader}

于 2015-09-28T07:48:00.947 回答