ish*_*shk 5 postgresql variables dynamic-sql
我有以下MySQL脚本,我想在PostgreSQL中实现.
SET @statement = search_address_query;
PREPARE dynquery FROM @statement;
EXECUTE dynquery;
DEALLOCATE PREPARE dynquery;
Run Code Online (Sandbox Code Playgroud)
如何使用PostgreSQL定义用户定义的变量"@statement".
Erw*_*ter 12
PostgreSQL通常不使用普通SQL中的变量.但你也可以这样做:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Run Code Online (Sandbox Code Playgroud)
阅读手册中的自定义选项.
在PostgreSQL 9.1或更早版本中,您需要custom_variable_classes
在使用之前声明.
但是,如果没有PL(过程语言),则无法 EXECUTE
动态SQL.您将使用DO
命令执行ad-hoc语句(但您无法从中返回数据).或者用于CREATE FUNCTION
创建执行动态SQL的函数(并且可以以任何可想象的方式返回数据).
使用动态SQL时,请务必防止SQL注入.
关于自定义变量的相关问题:
有没有办法在PostgreSQL查询中定义命名常量?
归档时间: |
|
查看次数: |
11328 次 |
最近记录: |