zoukankan      html  css  js  c++  java
  • SqlServer存储过程输出参数


    if exists(select 1 from sysobjects where name='P_PreOrderInfo')
    drop Procedure P_PreOrderInfo
    go
    Create Procedure P_PreOrderInfo 
       @RefSheetID varchar(64),
       @OutShopID varchar(64),
       @CustomID varchar(64),
       @InShopID varchar(64),
       
       @Operator varchar(64),
       @Name varchar(64),
       @Tax varchar(64),
       @CertType varchar(64) ,  


       @CertNo varchar(64) ,  
       @Mobile varchar(64),
       @LinkMan varchar(64),
       @LinkTele varchar(64),


       @Address varchar(64),
       @Notes varchar(64),
       
       @GoodsID varchar(2000),
       @BarCodeID varchar(2000),
       @CustomPrice varchar(2000),
       @PKNum varchar(2000),
       @PKName varchar(2000),
       @PKSpec varchar(2000)
    --   ,@a varchar(8000) out
    WITH ENCRYPTION
    AS BEGIN
      declare @SheetID char(16);
      --select @OutShopID=RationShopID,@CustomID=CustomerID from shop where ID=@ShopID
      select @SheetID=max(SheetID) from PreCustomerOrder0 where left(sheetID,8)=CONVERT(varchar(100), GETDATE(), 112)
      if @SheetID is null  
      begin
        set @SheetID=CONVERT(varchar(100), GETDATE(), 112)+'00000001'
      end
      else
      begin
        set @SheetID=substring(@SheetID,1,8)+ right('0000000'+convert(varchar(8),convert(int,substring(@SheetID,9,8))+1),8)
      end


      declare @sql varchar(2000)
      set @sql='Insert Into PreCustomerOrder0(  SheetID,RefSheetID,OutShopID,CustomID,InShopID,PurDate,Editor,EditDate,Operator,'+
               'Notes ,[Address],Mobile,LinkTele,LinkMan,CertType,CertNo,Tax,CertName) values('''+
               @SheetID+''','''+@RefSheetID+''','''+@OutShopID+''','+@CustomID+','''+@InShopID+''',getdate(),'''+@Operator+''',getdate(),'''+@Operator


    +''','''+
               @Notes+''','''+@Address+''','''+@Mobile+''','''+@LinkTele+''','''+@LinkMan+''','''+@CertType+''','''+
               @CertNo+''','''+@Tax+''','''+@Name+''');';  


       
      declare @tempGoodsID varchar(100)
      declare @tempBarCodeID varchar(100)
      declare @tempCustomPrice varchar(100)
      declare @tempPKNum varchar(100)
      declare @tempPKName varchar(100)
      declare @tempPKSpec varchar(100)
      declare @sql2 varchar(8000)
      set @sql2='';
      while  charindex(',',@GoodsID)>0 
      begin
        set @tempGoodsID=substring(@GoodsID,1,charindex(',',@GoodsID)-1);
        set @GoodsID=substring(@GoodsID,    charindex(',',@GoodsID)+1,    len(@GoodsID)-charindex(',',@GoodsID)    );
        
        set @tempBarCodeID=substring(@BarCodeID,1,charindex(',',@BarCodeID)-1);
        set @BarCodeID=substring(@BarCodeID,charindex(',',@BarCodeID)+1,len(@BarCodeID)-charindex(',',@BarCodeID));
        set @tempCustomPrice=substring(@CustomPrice,1,charindex(',',@CustomPrice)-1);
        set @CustomPrice=substring(@CustomPrice,charindex(',',@CustomPrice)+1,len(@CustomPrice)-charindex(',',@CustomPrice));
        set @tempPKNum=substring(@PKNum,1,charindex(',',@PKNum)-1);
        set @PKNum=substring(@PKNum,charindex(',',@PKNum)+1,len(@PKNum)-charindex(',',@PKNum));
        set @tempPKName=substring(@PKName,1,charindex(',',@PKName)-1);
        set @PKName=substring(@PKName,charindex(',',@PKName)+1,len(@PKName)-charindex(',',@PKName));
        set @tempPKSpec=substring(@PKSpec,1,charindex(',',@PKSpec)-1);
        set @PKSpec=substring(@PKSpec,charindex(',',@PKSpec)+1,len(@PKSpec)-charindex(',',@PKSpec));
        set @sql2=@sql2+'Insert Into PreCustomerOrderItem0(  SheetID,GoodsID,BarCodeID,CustomPrice,PKNum,PKName ,PKSpec) values('''+
               @SheetID+''','''+@tempGoodsID+''','''+@tempBarCodeID+''','+@tempCustomPrice+','+@tempPKNum+','''+@tempPKName+''','''+@tempPKSpec+''');'; 


      
      end 
      --select @a= @sql+@sql2   
      exec(@sql+@sql2)
    end 
     go   
      
      
     declare @b varchar(8000);
      Exec P_PreOrderInfo N'P113201605180006','-1','-1','020L06','1','1','2', '0','3','4','1',
      '5','56','7','10140102,','6914032100010,','158.00,',  '1,','F,','1*1,',@b out
      select @b
  • 相关阅读:
    b_51_选数字(2*map记录前后状态+背包)
    b_51_最大M字段和(两个状态表示+两种决策)
    b_51_子序列的个数(先从可重复的情况出发+记录前一个数的位置)
    b_51_整数划分的方案数(dp+等差数列求和公式推出限制)
    b_nk_最长公共子序列 & 最长公共子串(dp+双指针 | 记录最长lms的长度,以及结尾位置)
    b_51_最大距离(排序=将两个维度降为一个维度 / 不太懂的单调栈)
    b_51_面积最大的矩形=柱状图 & 好子数组的最大值(暴力 / 单调栈优化)
    b_51_扔盘子(从极端角度考虑)
    肖sir多测师高级讲师_第二个月课堂013讲解robotfamework之基本运用(002)
    第二个月课堂013讲解robotfamework之基本介绍(001)
  • 原文地址:https://www.cnblogs.com/xtfnpgy/p/9285383.html
Copyright © 2011-2022 走看看