Sql 使用触发器将当前用户和日期插入表

Sql 使用触发器将当前用户和日期插入表,sql,oracle,plsql,Sql,Oracle,Plsql,我正在尝试创建一个触发器,该触发器将记录当前日期、用户以及在特定表上执行的插入、删除或更新操作 我正在尝试将该数据存储在单独的表中: CREATE TABLE\u更改( ChangeDate日期不为空, 用户名VARCHAR2(20)不为空, 动作VARCHAR2(10)不为空; 到目前为止,这是我的触发器: 创建或替换触发器\u修改 插入、更新或删除借款人信息后 每行 开始 如果插入,则 插入借款人变更(变更日期、用户名、操作) 值('SysDate','User','INSERT'); 然

我正在尝试创建一个触发器,该触发器将记录当前日期、用户以及在特定表上执行的插入、删除或更新操作

我正在尝试将该数据存储在单独的表中:

CREATE TABLE\u更改(
ChangeDate日期不为空,
用户名VARCHAR2(20)不为空,
动作VARCHAR2(10)不为空;
到目前为止,这是我的触发器:

创建或替换触发器\u修改
插入、更新或删除借款人信息后
每行
开始
如果插入,则
插入借款人变更(变更日期、用户名、操作)
值('SysDate','User','INSERT');
然后更新
插入借款人变更(变更日期、用户名、操作)
值('SysDate','User','UPDATE');
如果删除,则
插入借款人变更(变更日期、用户名、操作)
值('SysDate','User','DELETE');
如果结束;
结束;
当尝试将数据插入表中时,会导致触发器触发,我遇到以下错误:

错误报告- ORA-01858:在需要数字的位置找到非数字字符

我已经放弃了触发器,在没有触发器的情况下插入的数据没有任何问题,所以我的触发器肯定有问题

我查了一下,最常见的原因似乎是日期格式不匹配,我用这个来尝试查找我的日期格式:

select *
from nls_session_parameters
where parameter = 'NLS_DATE_FORMAT';
看起来是“DD/MON/RR”这可能是个问题吗?我是SQL新手,日期格式的东西总是让我很反感,我已经做了一些研究,似乎找不到一条出路,任何帮助都将不胜感激,谢谢。

创建或替换触发器。\u
插入、更新或删除借款人信息后
每行
开始
如果插入,则
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“INSERT”);
然后更新
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“UPDATE”);
如果删除,则
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“DELETE”);
如果结束;
结束;
您需要内置函数。您正在使用字符串文字。
您需要内置函数。您正在使用字符串文字。

创建或替换触发器。\u
插入、更新或删除借款人信息后
每行
开始
如果插入,则
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“INSERT”);
然后更新
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“UPDATE”);
如果删除,则
插入借款人变更(变更日期、用户名、操作)
值(sysdate、用户“DELETE”);
如果结束;
结束;
您需要内置函数。您正在使用字符串文字。

您需要内置函数。你使用的是字符串文字。

哦,哇,我不敢相信我忽略了这个,非常感谢,哇,我不敢相信我忽略了这个,非常感谢