博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好久没写代码,今天刚刚给客户写了点
阅读量:5222 次
发布时间:2019-06-14

本文共 1636 字,大约阅读时间需要 5 分钟。

真郁闷,这家客户自己写外挂把我们的数据库完整性给破坏了,还要我们修复
icon18.gif
唉,贴出来做个纪念吧......
None.gif
declare
 
@cardnum
 
nvarchar
(
80
)
None.gif
declare
 
@personid
 
nvarchar
(
80
)
None.gif
declare
 
@accessionstate
 
int
None.gif
declare
 
@personid222
 
nvarchar
(
80
)
None.gif
declare
 _cor 
cursor
 
for
 
None.gif
select
 cardnum 
as
 cn 
from
 psnaccount 
None.gif
where
 cardnum 
<>
''
 
group
 
by
 cardnum
None.gif
having
 
count
(cardnum)
>
1
  
order
 
by
 cn 
desc
 
None.gif
None.gif
open
 _cor
None.gif
FETCH
 
NEXT
 
FROM
 _cor 
INTO
 
@cardnum
None.gif
None.gif   
WHILE
 
@@FETCH_STATUS
 
=
 
0
None.gif   
BEGIN
None.gif
None.gif      
PRINT
 
'
  
'
 
+
 
@cardnum
None.gif    
set
 
@personid
 
=
 
''
None.gif    
set
 
@personid222
 
=
 
''
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* 查询出离职人员编号  */
None.gif    
declare
 personid_cursor 
cursor
 
for
None.gif    
select
 
top
 
1
 personid,accessionstate 
from
 psnaccount 
where
 cardnum 
=
 
@cardnum
 
and
 accessionstate 
=
 
4
None.gif    
open
 personid_cursor
None.gif    
FETCH
 
next
 
from
 personid_cursor 
into
 
@personid
,
@accessionstate
None.gif        
WHILE
 
@@FETCH_STATUS
 
=
 
0
None.gif           
BEGIN
None.gif            
fetch
 
next
 
from
 personid_cursor 
into
 
@personid
,
@accessionstate
None.gif        
END
None.gif    
close
 personid_cursor
None.gif    
deallocate
 personid_cursor
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* END 查询出离职人员编号  */
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* 查询出在职人员编号 */
None.gif    
declare
 personid_cursor 
cursor
 
for
None.gif    
select
 
top
 
1
 personid,accessionstate 
from
 psnaccount 
where
 cardnum 
=
 
@cardnum
 
and
 accessionstate 
=
 
2
None.gif    
open
 personid_cursor
None.gif    
FETCH
 
next
 
from
 personid_cursor 
into
 
@personid222
,
@accessionstate
None.gif        
WHILE
 
@@FETCH_STATUS
 
=
 
0
None.gif           
BEGIN
None.gif            
fetch
 
next
 
from
 personid_cursor 
into
 
@personid222
,
@accessionstate
None.gif        
END
None.gif    
close
 personid_cursor
None.gif    
deallocate
 personid_cursor
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* END 查询出在职人员编号  */
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* 更新编号 */
None.gif    
if
 
@personid
 
<>
''
 
and
 
@personid222
 
<>
''
None.gif    
BEGIN
None.gif        
UPDATE
 atdtimecarddata 
set
 PERSONID 
=
 
@personid222
 
where
 personid 
=
 
@personid
 
and
 receivedate 
>=
'
2005-09-12
'
None.gif    
END
ExpandedBlockStart.gifContractedBlock.gif    
/**/
/* END 更新编号 */
None.gif
None.gif      
FETCH
 
NEXT
 
FROM
 _cor 
INTO
 
@cardnum
None.gif   
None.gif   
END
None.gif
CLOSE
 _cor
None.gif
DEALLOCATE
 _cor

转载于:https://www.cnblogs.com/minbear/archive/2005/09/28/246084.html

你可能感兴趣的文章
[回归分析][7]--定性预测变量
查看>>
团队的绩效评估计划
查看>>
纯css实现警示框页面(带关闭窗口按钮)
查看>>
django的views里面的request对象详解大全
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
蓝桥杯题——包子凑数
查看>>
软件测试——性能测试总结
查看>>
sky1301测试总结 just before chip comes back
查看>>
arcgis JavaScript 加载 mapbox地图
查看>>
【NOIP2018模拟11.01】树
查看>>
12.4站立会议
查看>>
sqlserver之on与where条件
查看>>
二维树状数组模板
查看>>
poj1087最小割
查看>>
configparse模块 | 文件配置 | Python (转载)
查看>>
C++中四种显示类型转换总结
查看>>
java线程池原理
查看>>
c++学习笔记2--constexpr,类型别名,auto
查看>>
★色盲悖论正解!
查看>>