头图

在PG中使用JavaScript 需要使用 plv8 扩展

需要开启扩展

create extension plv8;

创建函数模版

create or replace function function_name() 
returns void as $$
    // V8 Javascript
    // 在这里写 Javascript Code
$$ language plv8;

执行的话运行

select function_name();

plv8 helloworld 示例

create or replace function hello_world(name text) 
returns text as $$

    let output = `Hello, ${name}!`;
    return output;

$$ language plv8;

执行sql 使用 plv8.execute 函数

create or replace function update_user(id bigint, first_name text) 
returns smallint as $$

    var num_affected = plv8.execute(
        'update profiles set first_name = $1 where id = $2', 
        [first_name, id]
    );

    return num_affected;
$$ language plv8;

links


lidashuang
6.7k 声望165 粉丝

$ Ruby/Elixir/Golang