create procedure proc_cusOrder 
as
declare @orRName varchar(20),@orRMobile varchar(20),@cusCount int,@orNumber varchar(20)
declare @orRCity varchar(18),@orAddress varchar(20),@orRPost varchar(20),@orRTel varchar(20)
declare @custid int,@custNumber varchar(18)
declare  cur_cusOrder INSENSITIVE cursor for
select 
ordeReceiveName,
ordeReceiveMobile,
ordeNumber,
ordeReceiveCity,
ordeReceiveAddress,
ordeReceivePost,
ordeReceiveTel
from
holy_order
open cur_cusOrder
fetch next from cur_cusOrder into  @orRName,@orRMobile,@orNumber,@orRCity,@orAddress,@orRPost,@orRTel
while(@@fetch_status<>-1)
begin
select  @cusCount=count(1) from dbo.call_customer where custName=@orRName and custMobilePhone=@orRMobile
IF
@cusCount>=1
select @custid=custid,@custNumber=custNumber from dbo.call_customer where custName=@orRName and custMobilePhone=@orRMobile
insert into dbo.call_customerOrder(cuorId,cuorOrderNumber) values(@custid,@custNumber)
ElSE 
insert into dbo.call_customer(
custNumber,
custName,
custHomeCityId,
custHomeAddress,
custHomePost,
custHomePhone,
custMobilePhone
)
values(
@orNumber,
@orRName,
@orRCity,
@orAddress,
@orRPost,
@orRTel,
@orRMobile
)

fetch next from cur_cusOrder into  @orRName,@orRMobile,@orNumber,@orRCity,@orAddress,@orRPost,@orRTel
end
close   cur_cusOrder   
deallocate   cur_cusOrder

解决方案 »

  1.   

    表结构有三张表 
    表一
    dbo.holy_order 
    字段  ordeId(主见),ordeNumber,ordeReceiveName,ordeReceiveCity,ordeReceiveAddress,ordeReceivePost,ordeReceiveTel,ordeReceiveMobile表二
    dbo.call_customer  
    字段
    custid(主建),custNumber,custMobilePhone,custName,custHomePost,custHomePhone,custHomeCityId表三
    dbo.call_customerOrder(
    cuorId,主建 cuorOrderNumber(非空),custid(空))操作数据 copy将 表一(holy_order )的数据 copy到表二(dbo.call_customer)
    copy时加上判断 
    表一的ordeReceiveName,ordeReceiveMobile
    在dbo.call_customer  表二(custName,custMobilePhone)是否存在
    存在的话
    插入中间表(表三)call_customerOrder 的 cuorOrderNumber(插入ordeNumber),custid(custid 表二主建)不存在将表一的数据插入到表二
    holy_order call_customer
    ---------------------------------------------------------------------------------
    ordeReceiveName | custName
    ordeReceiveCity | custHomeCityId
    ordeReceiveAddress | custHomeAddress
    ordeReceivePost | custHomePost
    ordeReceiveTel | custHomePhone
    ordeReceiveMobile | custMobilePhone并且中间表里插入信息