【发布时间】:2017-10-06 14:19:26
【问题描述】:
我正在使用 Oracle Rest Data Services 构建应用程序。
我可以使用类似GET http://example.com/foo/bar 运行查询SELECT * FROM bar 或
POST http://example.com/foo/bar
{
"first": "a'b",
"second": "c,d"
}
运行查询INSERT INTO bar (first, second) VALUES (:first, :second)
查询参数从请求正文绑定。
现在,我想构建一个运行动态查询的路由。
我可以用一个绑定参数来做到这一点,例如:
POST http://example.com/foo/query
{
"query": "DELETE FROM bar WHERE first = :param",
"param": "a'b"
}
运行查询
BEGIN EXECUTE IMMEDIATE :query USING :param; END;
但我不知道如何使用多个参数来做到这一点。例如。
POST http://example.com/foo/query
{
"query": "DELETE FROM bar WHERE first = :first AND second = :second",
"bindings": "first,second",
"first": "a'b",
"second": "c,d"
}
查询应该是这样的
DECLARE
params ...? -- (params variable should set USING list from :bindings request param)
BEGIN
EXECUTE IMMEDIATE :query USING params;
END;
有什么想法吗?
【问题讨论】:
标签: oracle rest execute-immediate