ARCHAR128AS
DECLAREName
asNVARCHAR128
DECLAREOw
erasNVARCHAR128
DECLAREOw
erNameasNVARCHAR128
DECLAREcurObjectCURSORFOR
selectName
ame
Ow
er
user_
ameuid
fromsysobjects
whereuser_
ameuidOldOw
er
orderby
ame
OPENcurObjectFETCHNEXTFROMcurObjectINTONameOw
erWHILEFETCH_STATUS0BEGINifOw
erOldOw
erbegi
fsetOw
erNameOldOw
errtrimNameexecsp_cha
geobjectow
erOw
erNameNewOw
ere
dselect
ameNewOw
erOldOw
erFETCHNEXTFROMcurObjectINTONameOw
erENDclosecurObjectdeallocatecurObject
GO
10、SQLSERVER中直接循环写入数据
declareii
t
seti1
whilei30
begi
i
serti
totestuseridvaluesi
setii1
e
d
案例:
有如下表,要求就裱中所有有及格的成,在每次增01的基上,使他好及格
Namescore
Zha
gsha
80
Lishi
59
fWa
gwu
50
So
gqua
69
whileselectmi
scorefromtb_table60
begi
updatetb_tablesetscorescore101
wherescore60
ifselectmi
scorefromtb_table60
break
else
co
ti
ue
e
d
数据开发经典
1按姓氏笔画排序SelectFromTableNameOrderByCustomerNameCollateChi
ese_PRC_Stroke_ci_as从少到多2数据库加密selecte
crypt原始密码selectpwde
crypt原始密码selectpwdcompare原始密码加密后密码1相同;否则不相同e
crypt原始密码selectpwde
crypt原始密码selectpwdcompare原始密码加密后密码1相同;否则不相同
f3取回表中字段declarelistvarchar1000sql
varchar1000selectlistlistb
amefromsysobjectsasyscolum
sbwhereaidbida
da
ame表Asetsqlselectrightlistle
list1from表Aexecsql4查看硬盘分区EXECmasterxp_fixeddrives5比较AB表是否相等ifselectchecksum_aggbi
ary_checksumfromA
selectchecksum_aggbi
ary_checksumfromBpri
t相等elsepri
t不相等6杀掉所有的事件探察器进程DECLAREhcforeachCURSORGLOBALFORSELECTkillRTRIMspidFROMmasterdbosysprocessesWHEREprogram_
ameINSQLprofilerNSQL事件探查器EXECsp_msforeach_worker
7记录搜索开头到N条记录SelectTopNFrom表
fN到M条记录要有主索引IDSelectTopMNFrom表WhereIDi
SelectTopMIDFrom表Orderby
IDDesc
N到结尾记录SelectTopNFrom表OrderbyIDDesc案例
例如1:一张表有一万多条记录,表的第一个字段RecID是自增长字段,写一个SQL语句,找
出表的第31到第40个记录。
selecttop10recidfromAwhererecid
oti
selecttop30recidfromA
分析:如果这样写会产生某些问题,如果recid在表中存在逻辑索引。
selecttop10recidfromAwhere……是从索引中查找,而后面的selecttop30recid
r