过程创建没有问题,但是执行的时候总提示“无效列名”,主要是在dual中找不到gametime,我该怎么改create or replace procedure p_single_test(sid in char,gametime in char,gametype in char) as
begin
MERGE INTO single_test B
USING (select gametime from dual) E
ON (b.game_time=E.gametime)
WHEN MATCHED THEN
update set game_type=gametype
WHEN NOT MATCHED THEN
INSERT (b.id,b.game_time)
VALUES (sid,gametime);
end;
begin
MERGE INTO single_test B
USING (select gametime from dual) E
ON (b.game_time=E.gametime)
WHEN MATCHED THEN
update set game_type=gametype
WHEN NOT MATCHED THEN
INSERT (b.id,b.game_time)
VALUES (sid,gametime);
end;
解决方案 »
- 关于临时表
- 悲催了! 表空间被drop了,datafile还在,怎么恢复啊?
- 求一条简单的SQL语句
- vb连接oracle,执行一个复杂的存储过程,其间将vb进程手动杀死,oracle什么时候执行回滚?是马上执行还是插入完成后执行,还是别的时候
- 外部表在Oracle数据库中使用心得
- 请问怎样通过编程实现文件导入(类似sqlldr功能)
- 请问ORACLE9i中的方案(Schema)和表空间(tablespace)以及数据库(database)之间的关系究竟是怎么回事啊?
- 有谁知道,这样的sql如何写?
- delete语句 优化问题:10000条记录要4个小时?
- 欢迎大家来讨论,关于Oracle后台自动运行的问题???
- 关于Oracle专用服务器和共享服务器的问题
- ------请进来帮帮忙!--------
begin
MERGE INTO single_test B
USING (select sysdate as gametime from dual) E
ON (b.game_time=E.gametime)
WHEN MATCHED THEN
update set game_type=gametype
WHEN NOT MATCHED THEN
INSERT (b.id,b.game_time)
VALUES (sid,gametime);
end;
begin
MERGE INTO single_test B
USING (select gametime as gtime from dual) E
ON (b.game_time=E.gtime)
WHEN MATCHED THEN
update set game_type=gametype
WHEN NOT MATCHED THEN
INSERT (b.id,b.game_time)
VALUES (sid,gametime);
end;
select gametime1 as gametime, username1 as username from dual就出错
ORA-00600: 内部错误代码,参数: [15212], [1], [], [], [], [], [], []