Sql 在oracle中使用max(日期)更新查询

Sql 在oracle中使用max(日期)更新查询,sql,oracle,Sql,Oracle,有两个名为emp和ct1 要求从emp中获取最大值(hiredate),并将其更新到ct1表中 使用: Update ct1 set session_date=(select max(hiredate)from emp) where table_name='src1'; 表内容 emp name hiredate A 12-12-2004 B 14-08-2000 ct1 table table_name session_date SRC1 null SR

有两个名为
emp
ct1
要求从
emp
中获取最大值(hiredate),并将其更新到
ct1
表中

使用:

Update ct1 
set session_date=(select max(hiredate)from emp) 
where table_name='src1';
表内容

emp 
name hiredate
A    12-12-2004
B    14-08-2000

ct1 table
table_name session_date
SRC1          null
SRC2          null

我认为你应该把where条件用大写。。否则不匹配

Update ct1 
set (session_date) = (select max(hiredate)from emp )
where table_name='SRC1'
and session_data is null;

上述emp表中没有hiredate列。请将表格名称更正为
emp
ct1
只有您在问题中提到的
table\u name=src1
。一旦看到并更正它,当表中有一行与
where table\u name='SRC1'
匹配时,update语句就会工作。所以你的安排一定有点奇怪。ct1.table_name的数据类型是什么?@APC table_name的数据类型是varchar2请不要编辑您的问题,使其看起来好像没有错误。将
'src1'
的大小写改为
'SRC'
会使接受的答案看起来毫无意义。我把它卷回去了。以后,请仅编辑您的问题以添加必要的信息。谢谢。我在数据库中使用了大写的SRC1。但它不起作用。[错误]执行(14:20):ORA-00936:缺少表达式通过使用:从emp中选择最大值(hiredate)我得到最大日期,当我直接赋值而不是选择最大值(hiredate)时,它正在更新ct1表。在哪个上下文中使用i查询。。在服务器程序中?在脚本中?查询将在informatica源限定符中的PreSQL查询中使用