动态执行
最近更新时间: 2025-01-15 17:01:00
postgres=# CREATE OR REPLACE FUNCTION f27(a_id INTEGER) RETURNS text AS
postgres-# $$
postgres$# DECLARE
postgres$# v_sql TEXT;
postgres$# v_mc TEXT;
postgres$# BEGIN
postgres$# v_sql := 'SELECT mc FROM t WHERE id='||a_id::TEXT;
postgres$# EXECUTE v_sql INTO v_mc;
postgres$# RETURN v_mc;
postgres$# END;
postgres$# $$
postgres-# LANGUAGE plpgsql;
CREATE FUNCTION
postgres=# SELECT f27(1);
f27
-------
TBase
(1 row)
动态执行就是拼sql语句,然后使用EXECUTE命令执行。