Oracle11g 使用变量向特定列插入数据

Oracle11g 使用变量向特定列插入数据,oracle11g,Oracle11g,是否可以使用变量将数据插入特定列?当我执行下面的代码时,它将无限期地运行 set serveroutput on; declare maxi number(5); begin select max(salary) into maxi from employees; insert into employees values (207,'Soumya','Ghosh','sghosh87','245.322.4322','22-FEB-16','MK_MAN',maxi,NULL,100,20);

是否可以使用变量将数据插入特定列?当我执行下面的代码时,它将无限期地运行

set serveroutput on;
declare
maxi number(5);
begin
select max(salary) into maxi from employees;
insert into employees
values
(207,'Soumya','Ghosh','sghosh87','245.322.4322','22-FEB-16','MK_MAN',maxi,NULL,100,20);
dbms_output.put_line('Value of maximum salary is :' ||maxi);
end;

如果它无限期地运行,那么插入可能只是被阻塞了。您是否在另一个会话/客户端中对该表进行了未提交的更改?您好@Alex Poole。。实际上,变量“maxi”的数据类型是“number”。insert语句是否由于数据类型不匹配而未运行?是否系统希望“employees”表的“salary”列使用数值而不是数值变量?我的意思是,我想检查是否可以通过数据类型为“number”的变量插入一个数值。可能吗?您能回答我的问题吗?当然可以使用变量将数据插入到列中。如果隐式转换是必要的,它要么几乎立即工作,要么给你一个错误;它不会无限期地运行。一种可能的情况是,您还试图从另一个会话插入到该表中,但没有提交或回滚,使该表处于锁定状态(例如,由于唯一/主键导致其等待)。但是你是如何执行代码的呢?您没有在一行上单独显示尾部slah
/
,因此在某些客户机中实际上不会执行任何操作。你可能看到什么都没发生,以为是…嗨,亚历克斯..我现在运行代码。它正在成功地工作。谢谢你的解释。您是对的,我试图从另一个会话插入到表中,但没有提交/回滚。这阻碍了代码的执行。Alex,我还有一个问题。我试着把它当作一个问题来问,但我犯了一个错误,说“它不符合标准”之类的话。