POSTGRESQL 9.2.24.- pltcl
似乎很简单。我正在尝试做等效的(在plpgsql中) v_skill_integer = nextval(v_seq_name);
导致....
错误:无效的命令名称“ db_nextval” 上下文:无效的命令名称“ db_nextval” 在执行时 “ db_nextval $ seq_name” (过程“ __PLTcl_proc_1645839”第8行) 从内部调用 “ __PLTcl_proc_1645839 aa” 在PL / Tcl函数“ skm__tcl_set_skill_id”中
DROP FUNCTION IF EXISTS skm__tcl_set_skill_Id(CHAR(03));
CREATE OR REPLACE FUNCTION skm__tcl_set_skill_Id(CHAR(03))
RETURNS CHAR(08) AS $BODY$
set skill_prefix [string tolower $1]
append seq_name "skm_" $skill_prefix
set v_length [string length $skill_prefix]
set skill_integer [db_nextval $seq_name]
return $seq_name$length
$BODY$ LANGUAGE pltcl;
select skm__tcl_set_skill_Id('aa');
是因为尚未创建序列,如果是的话,我该如何捕捉呢?如果不是那样,那么??
我认为这是环境问题,因为使用推杆时会出现错误 错误:找不到名为“ stdout”的频道 内容:找不到名为“ stdout”的频道 在执行时 “放入$ seq_name”