如何在外系统中编写删除查询提前查询
how to write delete query in advance query in outsystems
我尝试使用高级查询编写删除查询。但是不知道如何提前查询查询,我仍然尝试过,但我得到 error.Please 帮助我如何用示例编写查询。
我只想删除 "EnvelopeHeader" 实体中的所有数据。
我不熟悉这个版本的SQL。但是,我的直觉告诉我,您需要将整个 select 语句括在两个圆括号中。也许 select 语句应该只包含一列。
像这样
DELETE FROM table
WHERE ID IN
( select EH_id FROM some_other_table)
如果您正在使用
DELETE FROM table
WHERE table.column IN (...)
这意味着您的内部查询必须 return 具有与 table.column.
相同类型的值列表
在你的情况下你的内部查询:
- 是select一堆专栏,应该只是select一个
- 当 selecting 多个列时,您需要逗号来分隔您想要的列 select col1, col2
- 您需要为内部查询指定 FROM 语句
应该是这样的
DELETE FROM {table}
WHERE {table}.[column] in
(SELECT {table}.[column] FROM {table} WHERE <condition>)
另外别忘了,如果要使用参数,可以使用@param_name
来引用
如果您想删除该实体中的所有记录,只需使用
DELETE * FROM {EnvelopeHeader}
我尝试使用高级查询编写删除查询。但是不知道如何提前查询查询,我仍然尝试过,但我得到 error.Please 帮助我如何用示例编写查询。
我只想删除 "EnvelopeHeader" 实体中的所有数据。
我不熟悉这个版本的SQL。但是,我的直觉告诉我,您需要将整个 select 语句括在两个圆括号中。也许 select 语句应该只包含一列。
像这样
DELETE FROM table
WHERE ID IN
( select EH_id FROM some_other_table)
如果您正在使用
DELETE FROM table
WHERE table.column IN (...)
这意味着您的内部查询必须 return 具有与 table.column.
相同类型的值列表在你的情况下你的内部查询:
- 是select一堆专栏,应该只是select一个
- 当 selecting 多个列时,您需要逗号来分隔您想要的列 select col1, col2
- 您需要为内部查询指定 FROM 语句
应该是这样的
DELETE FROM {table}
WHERE {table}.[column] in
(SELECT {table}.[column] FROM {table} WHERE <condition>)
另外别忘了,如果要使用参数,可以使用@param_name
来引用如果您想删除该实体中的所有记录,只需使用
DELETE * FROM {EnvelopeHeader}