Dav*_*d S 5 postgresql plpgsql pgadmin
我在尝试在触发函数中调试时遇到错误。在 Postgres 日志中,我有以下内容:
2012-08-16 21:41:23 PDT ERROR: Unknown period: D
2012-08-16 21:41:23 PDT CONTEXT: PL/pgSQL function "handle_promotion_update"
line 60 at assignment
SQL statement "UPDATE promotion SET some_column = foo + 1
WHERE id = NEW.promotion_id"
PL/pgSQL function "handle_new_reward" line 94 at SQL statement
Run Code Online (Sandbox Code Playgroud)
所以,看来我的问题可能从“第 60 行”开始
我的问题是行号从哪里开始?如果我进入 pgAdmin 并查看函数声明,它的顶部有“helper”(如删除函数)。所以,我不认为它来自那里。但是,它包含函数声明吗?或者只是从 行开始BEGIN
?
您在 PostgreSQL 服务器日志中看到的行号从函数体的左引号所在的行开始。您必须在此之前添加行才能获得 pgAdmin SQL 编辑器中的绝对行号。
不要感到困惑:如果您在尝试创建函数时遇到错误,您会得到不同的行号:它们指的是整个执行的脚本,而运行时错误中的行号指的是函数体。
归档时间: |
|
查看次数: |
2706 次 |
最近记录: |