0

使用 IBExpert 和 Firebird 1.5,我试图在存储过程中记录日志的时间戳,精度为毫秒。由于函数 'NOW' 仅在 Firebird 2.0 中受支持,我正在使用库 'fbudf' 中的函数 getExactTimestamp() (它已经在数据库中声明为用户定义的函数: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。列未知。日志时间。在第 9 行,第 12 列。

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

4

0 回答 0