我收到了这个错误:
Error report -
ORA-00984: column not allowed here
ORA-06512: at line 14
00984. 00000 - "column not allowed here"
这是代码。我复制并粘贴字段名称(全部为上限)。字段名称应该是正确的
set serveroutput on
DECLARE
my_creation_dt date;
mysql varchar2(6000) := '';
BEGIN
select creation_dt into my_creation_dt from role_table where security_role = 'admin';
mysql := 'insert into role_grant_table (PERSON_ID, CREATION_DT, SECURITY_ROLE,
SSS_CREATE_DT, UPDATE_WHO, UPDATE_ON) values (1234, SYSDATE,
"ADMIN",
:my_creation_dt,
"myname",
SYSDATE)'; -- line 14, column not allowed here
execute immediate mysql using (my_creation_dt);
END;
答案 0 :(得分:3)
双引号用于包含标识符(通常在它们具有混合大小写或标点符号时)。因此,Oracle将MassTransit.IConsumer
和"ADMIN"
解释为标识符,在此上下文中,解析器将成为列名。该错误告诉您不允许在此处引用列。
据推测,您希望这些是要插入的字符串值。使用
用单引号括起字符串文字,即"myname"
和'ADMIN'
。