使用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,但我很感激任何帮助。