飙马 发表于 2007-9-24 15:29

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

<STRONG>插入之前如何进行一个断判?<BR><BR></STRONG>通过下面的语句,我必须将某个表中选择出来的记录插入另外一个表中,但插入前想进行一个判断,如果a(相当于关键字)已经存在了,就不插入该记录了,如果a还不存在,就插入该记录。这个SQL该怎么写呢?<BR><BR>   Insert into A(a,b,c,d)<BR>   Select a,b,c,d  form B

ILoveMK 发表于 2007-9-24 15:48

<P>merge into (select a,b,c,d from a) t1 using (select a,b,c,d from b) t2 <BR>on(t1.a=t2.a)<BR>when not matched then<BR>insert (t1.a,t1.b,t1.c,t1.d)<BR>values (t2.a,t2.b,t2.c,t2.d);<BR></P>

飙马 发表于 2007-9-24 15:55

我试试看!

wind110 发表于 2007-9-25 15:13

用Trigger怎樣實現,並且返回一提示信息,說明此內容已存在,有知道得朋友嗎,分享下!!!!!!!!!

飙马 发表于 2007-9-28 10:23

一般似乎都是用游标,并写存储过程来实现.

飙马 发表于 2007-10-4 15:03

最后这个问题已经解决了。实际上,在定义了一个Cusor后,进行插入操作时,会自动进行判断,如果这个关键字已经存在了,就不会插入了;而关键字不存在时,就会插入。关键就是游标的使用。

页: [1]

编程论坛