如果找到名为m的存储过程就删除它且覆盖建立m存储过程.....CREATE PROCEDURE m(
                   @gh nvarchar(10),
                   @dh nvarchar(13),
                   @gysbm nvarchar(9),
                   @gysname nvarchar(30),
                   @ckbm nvarchar(2),
                   @ckname nvarchar(16),
                   @xdr nvarchar(10),
                   @rky nvarchar(10),
                   @czy nvarchar(10), 
                   @bz nvarchar(200),
                   @shrq nvarchar(10), 
                   @ydh nvarchar(13)
               
) AS
declare @a nvarchar(1000)
/*删除shouhuoku_ycl中单号=@dh的记录*/
set @a=' delete danhaoku where danhao='''+@ydh+''''
           +'  insert into danhaoku(danhao) select '''+@dh+''''
           +' delete cgdinghuoku where danhao='''+@ydh+''''
           +' delete cldingdanluruku_'+@gh+' where goods_name='''' or goods_name is null'
           +'  insert into cgdinghuoku(goods_type,goods_tiaoxingma,zi_bianma,a1,a2,goods_bianma,goods_name,goods_xinghao,goods_guige,shdate,shquantity,kucun,buchong,jldanwei,shjinjia,shjine,gys_bianma,gys_name,ck_bianma,ck_name,danhao,picihao,caozuoyuan,xiadanren,rukuyuan,memo) select goods_type,goods_tiaoxingma,zi_bianma,a1,a2,goods_bianma,goods_name,goods_xinghao,goods_guige,'''+@shrq+''',shquantity,kucun,buchong,jldanwei,shjinjia,shjine,'+@gysbm+','''+@gysname+''','''+@ckbm+''','''+@ckname+''','''+@dh+''',picihao,'''+@czy+''','''+@xdr+''','''+@rky+''','''+@bz+'''  from cldingdanluruku_'+@gh
exec(@a)
GO

解决方案 »

  1.   

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[m]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[m]
    GO
      

  2.   

    if exists(select * from sysobjects where name='m' and type='p'
       drop proc m
    goCREATE PROCEDURE m(
                       @gh nvarchar(10),
                       @dh nvarchar(13),
                       @gysbm nvarchar(9),
                       @gysname nvarchar(30),
                       @ckbm nvarchar(2),
                       @ckname nvarchar(16),
                       @xdr nvarchar(10),
                       @rky nvarchar(10),
                       @czy nvarchar(10), 
                       @bz nvarchar(200),
                       @shrq nvarchar(10), 
                       @ydh nvarchar(13)
                   
    ) AS
    declare @a nvarchar(1000)
    /*删除shouhuoku_ycl中单号=@dh的记录*/
    set @a=' delete danhaoku where danhao='''+@ydh+''''
               +'  insert into danhaoku(danhao) select '''+@dh+''''
               +' delete cgdinghuoku where danhao='''+@ydh+''''
               +' delete cldingdanluruku_'+@gh+' where goods_name='''' or goods_name is null'
               +'  insert into cgdinghuoku(goods_type,goods_tiaoxingma,zi_bianma,a1,a2,goods_bianma,goods_name,goods_xinghao,goods_guige,shdate,shquantity,kucun,buchong,jldanwei,shjinjia,shjine,gys_bianma,gys_name,ck_bianma,ck_name,danhao,picihao,caozuoyuan,xiadanren,rukuyuan,memo) select goods_type,goods_tiaoxingma,zi_bianma,a1,a2,goods_bianma,goods_name,goods_xinghao,goods_guige,'''+@shrq+''',shquantity,kucun,buchong,jldanwei,shjinjia,shjine,'+@gysbm+','''+@gysname+''','''+@ckbm+''','''+@ckname+''','''+@dh+''',picihao,'''+@czy+''','''+@xdr+''','''+@rky+''','''+@bz+'''  from cldingdanluruku_'+@gh
    exec(@a)
    GO