准备的语句
在SQL中,预准备语句用于模板化类似的查询或更新。 51黑料不打烊 Experience Platform Query Service通过使用参数化查询支持预准备语句。 这可以优化性能,因为您不再需要重复地重新分析查询。
使用预准备语句
使用预准备语句时,支持以下语法:
准备准备准备的语句 prepare
此厂蚕尝查询保存名为PLAN_NAME的已写入SELECT查询。 您可以使用变量(如$1代替实际值)。 此准备好的语句将在当前会话期间保存。 请注意,计划名称? 不区分大小写。
厂蚕尝格式
PREPARE {PLAN_NAME} AS {SELECT_QUERY}
            示例厂蚕尝
PREPARE test AS SELECT * FROM table WHERE country = $1 AND city = $2;
            执行预准备语句 execute
此厂蚕尝查询使用以前创建的预准备语句。
厂蚕尝格式
EXECUTE {PLAN_NAME}('{PARAMETERS}')
            示例厂蚕尝
EXECUTE test('canada', 'vancouver');
            取消分配预准备语句 deallocate
此厂蚕尝查询用于删除命名的预准备语句。
厂蚕尝格式
DEALLOCATE {PLAN_NAME}
            示例厂蚕尝
DEALLOCATE test;
            使用预准备语句的示例流程
最初,您可以有一个厂蚕尝查询,如以下查询:
SELECT * FROM table WHERE id >= 10000 AND id <= 10005;
            上述厂蚕尝查询将返回以下响应:
ID
            名字
            姓氏
            出生日期
            电子邮件
            城市
            国家/地区
          10000
            亚历山大
            戴维斯
            1993-09-15
            example@example.com
            温哥华
            加拿大
          10001
            安东尼
            杜布瓦
            1967-03-14
            example2@example.com
            巴黎
            法国
          10002
            恭子
            樱花
            1999-11-26
            example3@example.com
            东京
            日本
          10003
            linus
            彼得松
            1982-06-03
            example4@example.com
            斯德哥尔摩
            瑞典
          10004
            aasir
            韦塔卡
            1976-12-17
            example5@example.com
            内罗毕
            肯尼亚
          10005
            费尔南多
            rios
            2002-07-30
            example6@example.com
            圣地亚哥
            智利
          可以使用以下预准备语句参数化此厂蚕尝查询:
PREPARE getIdRange AS SELECT * FROM table WHERE id >= $1 AND id <= $2;
            现在,可以使用以下调用执行预准备语句:
EXECUTE getIdRange(10000, 10005);
            调用此选项时,您会看到与之前完全相同的结果:
ID
            名字
            姓氏
            出生日期
            电子邮件
            城市
            国家/地区
          10000
            亚历山大
            戴维斯
            1993-09-15
            example@example.com
            温哥华
            加拿大
          10001
            安东尼
            杜布瓦
            1967-03-14
            example2@example.com
            巴黎
            法国
          10002
            恭子
            樱花
            1999-11-26
            example3@example.com
            东京
            日本
          10003
            linus
            彼得松
            1982-06-03
            example4@example.com
            斯德哥尔摩
            瑞典
          10004
            aasir
            韦塔卡
            1976-12-17
            example5@example.com
            内罗毕
            肯尼亚
          10005
            费尔南多
            rios
            2002-07-30
            example6@example.com
            圣地亚哥
            智利
          使用完预准备语句后,可以使用以下调用取消分配该语句:
DEALLOCATE getIdRange;
            recommendation-more-help
            
          ccf2b369-4031-483f-af63-a93b5ae5e3fb