通过 XML CWP 在一个请求中删除多条记录
Deleting multiple records in one request via XML CWP
是否可以通过 FileMaker Server 的 XML 自定义 Web 发布在单个请求中删除多条记录?
我正在查看 fms13_cwp_xml.pdf,我看到 -delete
和 -delete.related
命令参考,但我没有看到任何允许我删除多条记录的内容当前 table 有一个请求。
我想避免多次请求单独删除每条记录。
我知道我可以编写一个脚本来执行我想要的查找并删除所有记录,但这意味着我的 Web 应用程序域业务逻辑的一部分与应用程序本身分开存在(即不理想)。
有什么想法吗?
一些可能性:
您可以在 FileMaker 中设置自定义关系,其中左侧 table 的连接字段包含全局字段,右侧 table 是要从中删除记录的table,其连接字段是其主键。然后,您可以将左侧全局字段设置为包含要删除的记录的所有主键的列表。然后,您可以传递所有要删除的 ID,设置左侧全局字段,然后使用 -delete.related 一步删除所有记录。
(更新:根据下面 Mikhail 的评论,正确的 API 是 xDBC API,而不是 XML API)。我相信(大约 95% 确定,但不是肯定的)您可以将 FileMaker SQL 与 XML API 一起使用。假设这是正确的,您可以简单地发出一个标准的 SQL DELETE/FROM/WHERE… 命令一步删除所有记录。
您可以在单个请求中组合 -script
和 -find
,这样您就可以创建一个通用脚本来删除当前的搜索结果并将其与任何 -find
一起使用。
您可以根据 IP 或启用级联删除的内容为用户会话创建记录。根据需要设置相关数据,只需删除会话记录,删除后立即恢复原位。请谨慎使用级联删除,并彻底测试。
是否可以通过 FileMaker Server 的 XML 自定义 Web 发布在单个请求中删除多条记录?
我正在查看 fms13_cwp_xml.pdf,我看到 -delete
和 -delete.related
命令参考,但我没有看到任何允许我删除多条记录的内容当前 table 有一个请求。
我想避免多次请求单独删除每条记录。
我知道我可以编写一个脚本来执行我想要的查找并删除所有记录,但这意味着我的 Web 应用程序域业务逻辑的一部分与应用程序本身分开存在(即不理想)。
有什么想法吗?
一些可能性:
您可以在 FileMaker 中设置自定义关系,其中左侧 table 的连接字段包含全局字段,右侧 table 是要从中删除记录的table,其连接字段是其主键。然后,您可以将左侧全局字段设置为包含要删除的记录的所有主键的列表。然后,您可以传递所有要删除的 ID,设置左侧全局字段,然后使用 -delete.related 一步删除所有记录。
(更新:根据下面 Mikhail 的评论,正确的 API 是 xDBC API,而不是 XML API)。我相信(大约 95% 确定,但不是肯定的)您可以将 FileMaker SQL 与 XML API 一起使用。假设这是正确的,您可以简单地发出一个标准的 SQL DELETE/FROM/WHERE… 命令一步删除所有记录。
您可以在单个请求中组合 -script
和 -find
,这样您就可以创建一个通用脚本来删除当前的搜索结果并将其与任何 -find
一起使用。
您可以根据 IP 或启用级联删除的内容为用户会话创建记录。根据需要设置相关数据,只需删除会话记录,删除后立即恢复原位。请谨慎使用级联删除,并彻底测试。