sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
/****** Object: StoredProcedure [dbo].[getSplitValue] Script Date: 03/13/2014 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
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO CREATE PROC [dbo].PLMS_NDataSync
(
@SyncResult INT OUT --处理结果
)
AS IF OBJECT_ID('tempdb.dbo.#T_UserA1','U') IS NOT NULL
DROP TABLE dbo.#T_UserA1;
IF OBJECT_ID('tempdb.dbo.#T_UserB2','U') IS NOT NULL
DROP TABLE dbo.#T_UserB2; SELECT [TelePhone], [Password], [UserId], [Password2], [PeopleNo], [UserName], [IsWork], [MACAddress], [Region], [Department], [CZDepart], [Jobtitle],[AddTime],[LastTime] INTO dbo.#T_UserA1 FROM [dbo].[TB_NUsers]; WITH T_User
AS
(SELECT ROW_NUMBER() over(order by U.[PassWord]) [row_number],U.[UserID],U.[PassWord],U.[UserName],
CASE WHEN D.[Telephone]<>'' THEN D.[Telephone] ELSE D.[TeleMobile] END PhoneNumber,
D.IsWork,D.[PeopleName],D.[PeopleNo],
D.[ZLDomain],D.[Workshop],D.[CZDepart],D.[ZhiChun]
FROM [dbo].[TSUser] U left join [dbo].[TB_DeptPeople] D ON
(U.UserName=D.PeopleName COLLATE Chinese_Taiwan_Stroke_CI_AS))
SELECT * INTO dbo.#T_UserB2 FROM T_User U WHERE not exists(SELECT [TelePhone] FROM [dbo].[TB_NUsers] N WHERE U.PhoneNumber=N.TelePhone) AND U.PhoneNumber IS NOT NULL;
--select * from dbo.#T_UserB2
--定义变量
DECLARE @id NVARCHAR(50),@PhoneNumber NVARCHAR(50),@CZDepart NVARCHAR(50),
@Jobtitle NVARCHAR(50),@Password VARCHAR(100),@UserId NVARCHAR(50),@PeopleNo NVARCHAR(20),
@UserName NVARCHAR(100),@Region NVARCHAR(50),@Department NVARCHAR(50),@sql NVARCHAR(max) SELECT @id = MIN([row_number]) FROM dbo.#T_UserB2;
WHILE @id IS NOT NULL
BEGIN
SELECT @PhoneNumber=PhoneNumber,@CZDepart=CZDepart,@Jobtitle=ZhiChun,@Password=[PassWord],@UserId=ltrim(rtrim(UserID)),@PeopleNo=PeopleNo,
@UserName=UserName,@Region=ZLDomain,@Department=Workshop
FROM dbo.#T_UserB2 WHERE [row_number]=@id;
--定义变量
DECLARE @line INT =0
SELECT @line=COUNT(0) FROM dbo.#T_UserA1 WHERE TelePhone=@PhoneNumber; IF @line<=0
BEGIN SET @Password=UPPER(substring(sys.fn_sqlvarbasetostr(HashBytes('MD5',ltrim(rtrim(@Password)))),3,32))
set @sql='INSERT INTO [dbo].[TB_NUsers](TelePhone,CZDepart,Jobtitle,[Password],[Password2],IsOther,PeopleNo,UserName,UserId,IsWork,Region,Department)
VALUES
('''+@PhoneNumber+''','''+@CZDepart+''','''+@Jobtitle+''','''+@Password+''','''+@Password+''',1,
'''+@PeopleNo+''','''+@UserName+''','''+@UserId+''',1,'''+@Region+''','''+@Department+''')'
print @sql; --INSERT INTO [dbo].[TB_NUsers](TelePhone,CZDepart,Jobtitle,[Password],[Password2],IsOther,PeopleNo,UserName,UserId,IsWork,Region,Department)
-- VALUES
-- (@PhoneNumber,@CZDepart,@Jobtitle,@Password,@Password,1,
-- @PeopleNo,@UserName,@UserId,1,@Region,@Department);
END SELECT @id = MIN([row_number]) FROM dbo.#T_UserB2 WHERE [row_number] >@id END IF OBJECT_ID('tempdb.dbo.#T_UserA1','U') IS NOT NULL
DROP TABLE dbo.#T_UserA1
IF OBJECT_ID('tempdb.dbo.#T_UserB2','U') IS NOT NULL
DROP TABLE dbo.#T_UserB2
/*==============================================================================
*
* Filename: sqllist.sql
* Description: sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中
* Version: 1.0
* Created: 2016.03.13
* Author : XuChu.SUN
* E-mail : codelife@vip.qq.com
* Q Q : 592568532
* Profile Url:
* Company: Copyright (C) Create Family Wealth Power By Peter
*
============================================================
sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密的更多相关文章
- 在论坛中出现的比较难的sql问题:16(取一个字段中的数字)
原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...
- ireport报表制作, 当一个字段显示的数据太多时(数据过长),则需要自动换行
1.当一个字段显示的数据太长,一个表格放不下,则需要自动换行,选中要更改的表格(要显示动态内容的字段),设置属性Stretch with overflow 为钩选状态. 未勾选之前: 勾选之后: 2. ...
- .NET批量大数据插入性能分析及比较
数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ...
- SQL删除指定条件的重复数据,只保留一条
BEGIN DELETE TB FROM TableName TB WHERE TB.ID IN (SELECT MIN(ID) FROM TableName TB2 GROUP BY TB2.Col ...
- Mybatis 动态sql if 判读条件等于一个数字
在Mybatis中 mapper中 boolean updateRegisterCompanyFlag(@Param(value = "companyId") String com ...
- 用curl向指定地址POST一个JSON格式的数据
昨天的一个任务,用POST 方式向一个指定的URL推送数据.以前都用的数组来完成这个工作. 现在要求用json格式.感觉应该是一样的.开写. <?php $post_url = "ht ...
- sql 删除表字段中所有的空格
源地址:http://bbs.csdn.net/topics/30322040 Sample表中有一个Name字段,目前当中有很多记录含有空格,如:“ 张 学 友 ”,如何用SQL语句将这些空格删掉, ...
- C#批量将数据插入SQLServer数据库
Database db = CreateDatabase(); var varConnnection = db.CreateConnection(); //获取连 ...
- Oracle中用随机数更新字段----将一张表的数据插入另一张表----环境设置
DECLARE CURSOR recordCursor IS SELECT longitude,latitude FROM WR_WIUST_B_SEC FOR UPDATE; recordRow r ...
随机推荐
- mysql备份与还原
一.直接拷贝数据库文件 直接拷贝数据库文件一般是使用文件系统备份工具cp,适合小型数据库,是最可靠的. 当你拷贝数据库文件时,必须保证表没有正在使用.如果服务器在你拷贝一个表的时候改变这个表,拷贝就失 ...
- 常见web错误码 404 500
404表示文件或资源未找到java WEB常见的错误代码1.1xx-信息提示:这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应.100-继续.101-切换协议.2. ...
- ffmpeg-20160806-bin.7z
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...
- ABAP ALV单个单元格状态编辑-简单版本
*&---------------------------------------------------------------------* *& Report ZPPR0024 ...
- Effective C++ -----条款43:学习处理模板化基类内的名称
可在derived class templates内通过“this->“指涉base class templates内的成员名称,或藉由一个明白写出的”base class资格修饰符”完成.
- linux下QT Creator常见错误及解决办法
最近因为在做一个关于linux下计算机取证的小项目,需要写一个图形界面,所以想到了用QT来写,选用了linux下的集成开发环境QT Creator5.5.1,但刚刚安装好,竟然连一个"hel ...
- dhtmlxTree介绍(转载)
dhtmlxTree 是树菜单,允许我们快速开发界面优美,基于Ajax的javascript库. 她允许在线编辑,拖拽,三种状态(全选.不选.半选),复选框等模式.同时在加载大数据量的时候,仍然 可以 ...
- Android 6.0的运行时权限
原文 http://droidyue.com/blog/2016/01/17/understanding-marshmallow-runtime-permission/ 主题 安卓开发 Andr ...
- 【Git】自定义Git
来源:廖雪峰 让Git显示颜色 git config --global color.ui true 忽略特殊文件 有些文件有敏感信息,或者是自动生成的中间文件.不能或不必提交到git,可以用.giti ...
- $.each 和$(selector).each()的区别
$.each() 对数组或对对象内容进行循环处理 jQuery.each( collection, callback(indexInArray, valueOfElement) ) collectio ...