标题:插入之前如何进行一个断判?
只看楼主
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
 问题点数:0 回复次数:6 
插入之前如何进行一个断判?
通过下面的语句,我必须将某个表中选择出来的记录插入另外一个表中,但插入前想进行一个判断,如果a(相当于关键字)已经存在了,就不插入该记录了,如果a还不存在,就插入该记录。这个SQL该怎么写呢?

Insert into A(a,b,c,d)
Select a,b,c,d form B
搜索更多相关主题的帖子: SQL form Insert Select 语句 
2007-09-22 16:23
purana
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
存储过程行不?

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 ;

我的msn: myfend@
2007-09-22 16:33
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
得分:0 
行的,谢谢版主!能否再加个游标呢?

IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-09-24 08:32
purana
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
加个游标?
加游标干嘛?

我的msn: myfend@
2007-09-24 09:06
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
得分:0 
其实我发贴的位置有些不对,我这是Oracle系统,这个存储过程又该怎么写呢?

IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-09-24 15:08
purana
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
oracle就不懂了.
上面的存储过程是mysql的.

我的msn: myfend@
2007-09-24 15:18
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
得分:0 
PL/SQL语句都是差不多的,翻版过去就OK了.

外贸综合平台:E贸通
2007-10-07 18:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-172098-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.397248 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved