• PostgreSQL PL/Python 和 PL/Postgres 函数互相调用


    create or replace function hello(name text)
        returns text
    as $$
    #    str = name+',你吃饭了吗?';
    #    return 'hello %s !' % str;
        return 'Hello %s!' % name
    $$ language plpythonu;
    
    
    create or replace function hello_invoker(name text)
        returns text
    as $$
    begin
        return public.hello('[plpgsql_invoker_prefix]' || name);
    end;
    $$ language plpgsql;
    
    create or replace function hello_invoker_wrap(name text)
        returns text
    as $$
        pyret = plpy.execute("select hello_invoker('" + name + "[python wrap suffix]') as ret")[0];
        return pyret['ret'];
    $$ language plpythonu;

    testdb=# select * from public.hello_invoker_wrap('吴xx');
                       hello_invoker_wrap                    
    ---------------------------------------------------------
     Hello [plpgsql_invoker_prefix]吴xx[python wrap suffix]!

    plpy.execute返回的结果集为:

     <PLyResult status=5 nrows=1 rows=[{'ret': 'Hello [plpgsql_invoker_prefix]xxx[python wrap suffix]!'}]>
    (1 行记录)

  • 相关阅读:
    centos7安装nginx和php7启动脚本
    centos7 安装nginx遇到的坑
    php7.2 编译遇到的坑
    yum源更新
    redis
    nginx日志分割
    Docker部署LNMP完整教程
    浅谈JavaScript词法分析步骤
    PHP面向对象中的重要知识点(一)
    Mysql精华版(命令大全)
  • 原文地址:https://www.cnblogs.com/wucg/p/6473703.html
Copyright © 2020-2023  润新知