码迷,mamicode.com
首页 > 数据库 > 详细

sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中

时间:2016-04-15 09:29:38      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

/****** Object:  StoredProcedure [dbo].[getSplitValue]    Script Date: 03/13/2016 13:58:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
 
ALTER PROCEDURE [dbo].[getSplitValue] 
AS
        --定义获取GUID
    DECLARE @NEWID NVARCHAR(50)
    SET @NEWID= REPLACE(NEWID(),-,‘‘)
     
    --判断临时表数据是否存在,如果存在则删除临时表
if OBJECT_ID(tempdb..##project) is not null
        DROP TABLE ##project  
     if OBJECT_ID(tempdb..##projectA) is not null
        DROP TABLE ##projectA
    --获取数据源信息   
    SELECT id,GuiGe,DocumentNO,OrderNO,WLNO,Color,ISFenMa INTO ##project FROM TB_FLChuKuMx
    SELECT GuiGe,DocumentNO,OrderNO,WLNO,Color,ISFenMa  INTO ##projectA FROM TB_FLKuCun WHERE OptType=领料
    --定义变量
    DECLARE @id INT,@GuiGe NVARCHAR(50)
    DECLARE  @DocumentNO NVARCHAR(20),@OrderNO NVARCHAR(20),@WLNO NVARCHAR(20),@Color NVARCHAR(50),@ISFenMa NVARCHAR(20)
    DECLARE @sql NVARCHAR(max)
    
    SELECT @id = MIN(id) FROM ##project
        WHILE @id IS NOT NULL BEGIN
                    SELECT                @GuiGe=ISNULL(GuiGe,‘‘),@DocumentNO=DocumentNO,@OrderNO=OrderNO,@WLNO=WLNO,@Color=Color,@ISFenMa=ISFenMa
                                   FROM ##project WHERE id =@id
                     --定义变量
                     DECLARE @line INT =0
                     SELECT @line=COUNT(0)  FROM ##projectA WHERE
                       DocumentNO=@DocumentNO AND OrderNO=@OrderNO AND WLNO=@WLNO AND Color=@Color AND ISFenMa=@ISFenMa
                      
                     --如果查询出来数据则进行数据修改操作
                     IF @line >0  BEGIN
                           SET @sql =update TB_FLKuCun set GuiGe= ‘‘‘+@GuiGe+‘‘‘ where 
                            DocumentNO=‘‘‘+@DocumentNO+‘‘‘ and  OrderNO=‘‘‘+@OrderNO+‘‘‘ 
                            and  WLNO=‘‘‘+@WLNO+‘‘‘ and Color=‘‘‘+@Color+‘‘‘ and ISFenMa=‘‘‘+@ISFenMa+‘‘‘ and  OptType=‘‘领料‘‘ 
                         PRINT @sql
                        --EXEC(@sql)
                      END
                   
        SELECT @id = MIN(id) FROM dbo.##project WHERE id >@id 
  
        END                                                                               
    --判断临时表数据是否存在,如果存在则删除临时表
    if OBJECT_ID(tempdb..##project) is not null
        DROP TABLE ##project  
     if OBJECT_ID(tempdb..##projectA) is not null
        DROP TABLE ##projectA

 

sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中

标签:

原文地址:http://www.cnblogs.com/sunxuchu/p/5394043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!