Declare :A int;
Begin
select count(*) into :A from Table1 where ID='1';
if :A >0
begin
update Table1 set Name='小明' where Id='1';
end;
else
begin
insert into Table1 (ID,Name) values ('1','小明')
end;
end;
Begin
select count(*) into :A from Table1 where ID='1';
if :A >0
begin
update Table1 set Name='小明' where Id='1';
end;
else
begin
insert into Table1 (ID,Name) values ('1','小明')
end;
end;
解决方案 »
- SNAPSHOT VIEW的刷新时间可以取的吗????在线等。。有高分
- 请教一个sql
- C++BUILDER怎样访问数据库中的表?ORACLE数据库里所建的表放在哪个表空间才可以被前台访问?
- 急!weblogic8如何存储ORACLE10g里的clob字段?在线等待!
- 请教Oracle10g中启动脚本的问题
- 怎么查询一个字段的位数
- 取“销售组织::直销::物料组织<br>”中的“直销”
- 问个简单的问题:关于给表添加关键字
- 麻烦看一下这里!
- 同样一条sql,在command window中能查出数据,sql window却查不出
- PL/SQL中 insert into table_name( A )(SELECT F_GET() FROM D WHERE X)
- 调用oracle存储过程碰到日期格式问题
A NUMBER(18,0);
BEGIN
SELECT COUNT(*) INTO A FROM Table1 WHERE ID='1';
IF A > 0 THEN
update Table1 set Name='小明' where Id='1';
ELSE
insert into Table1 (ID,Name) values ('1','小明');
END IF;
COMMIT;
END;
/
-- 其实这个逻辑,一个 merge into 就能轻松、高效的解决!不需要这么复杂!
declare
A int;
begin
select count(*) into A from Table1 where ID='1';
IF a>0 THEN
update Table1 set Name='小明' where Id='1';
ELSIF
insert into Table1 (ID,Name) values ('1','小明')
END IF;
COMMIT;
end;