注册 登录
编程论坛 MySQL论坛

插入之前如何进行一个断判?

飙马 发布于 2007-09-22 16:23, 1744 次点击
通过下面的语句,我必须将某个表中选择出来的记录插入另外一个表中,但插入前想进行一个判断,如果a(相当于关键字)已经存在了,就不插入该记录了,如果a还不存在,就插入该记录。这个SQL该怎么写呢?

Insert into A(a,b,c,d)
Select a,b,c,d form B
6 回复
#2
purana2007-09-22 16:33
存储过程行不?

delimiter $$
create procedure add_record(in `in_key` int ,in `in_value` varchar(10))
begin
declare isKey int;
set isKey=0;
select count(`key`) into iskey
from tbl_name
where `key`=`in_key`;

if isKey=0 then
insert into tbl_name values(`in_key`,`in_value`);
end if;
end$$
delimiter ;
#3
飙马2007-09-24 08:32
行的,谢谢版主!能否再加个游标呢?
#4
purana2007-09-24 09:06
加个游标?
加游标干嘛?
#5
飙马2007-09-24 15:08
其实我发贴的位置有些不对,我这是Oracle系统,这个存储过程又该怎么写呢?
#6
purana2007-09-24 15:18
oracle就不懂了.
上面的存储过程是mysql的.
#7
ming2062007-10-07 18:43
PL/SQL语句都是差不多的,翻版过去就OK了.
1