错误"列不属于引用的表"从存储过程插入

时间:2016-01-06 15:40:24

标签: sql stored-procedures firebird user-defined-functions firebird1.5

使用IBExpert和Firebird 1.5,我试图以精确的毫秒记录存储过程中日志的时间戳。由于功能现在'仅在Firebird 2.0中受支持,我使用库中的函数getExactTimestamp()' fbudf' (它已经在数据库中声明为用户定义的函数:http://www.firebirdsql.org/refdocs/langrefupd20-udf-getexacttimestamp.html

CREATE OR ALTER PROCEDURE SP_INS_LOGEXPORTS (
    logtime timestamp,
    slogin varchar(20),
    sfilename varchar(80))
as
BEGIN
   logtime = getexacttimestamp();
   INSERT INTO LOG_EXPORTS (EVENTTIME,LOGIN,FILENAME)
   VALUES (logtime,:SLOGIN,:SFILENAME);
END

使用它我得到以下内容:

  

----------错误消息----------

     

列不属于引用的表。动态SQL错误。 SQL   错误代码= -206。专栏未知。 LOGTIME。在第9行第12栏。

我确定表中有3列。我也尝试直接将函数作为VALUES的参数传递,但是我得到了同样的错误。我确定某处有一个愚蠢的错误,因为我只是在学习SQL,但我很感激任何帮助。

0 个答案:

没有答案