zoukankan
html css js c++ java
aspnet_Profile_DeleteProfiles
ALTER
PROCEDURE
dbo.aspnet_Profile_DeleteProfiles
@ApplicationName
NVARCHAR
(
256
),
@UserNames
NVARCHAR
(
4000
)
AS
BEGIN
DECLARE
@UserName
NVARCHAR
(
256
)
DECLARE
@CurrentPos
INT
DECLARE
@NextPos
INT
DECLARE
@NumDeleted
INT
DECLARE
@DeletedUser
INT
DECLARE
@TranStarted
BIT
DECLARE
@ErrorCode
INT
SET
@ErrorCode
=
0
SET
@CurrentPos
=
1
SET
@NumDeleted
=
0
SET
@TranStarted
=
0
--
---------声明变量并为变量附初值-----------------
IF
(
@@TRANCOUNT
=
0
)
BEGIN
BEGIN
TRANSACTION
SET
@TranStarted
=
1
END
ELSE
SET
@TranStarted
=
0
--
-------------如果当前活动事务为0,开始事务并设置事务参数为1---------------------
WHILE
(
@CurrentPos
<=
LEN
(
@UserNames
))
--
如果@CurrentPos不大于输入参数的长度
/**/
/*
LEN返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。
*/
BEGIN
SELECT
@NextPos
=
CHARINDEX
(N
'
,
'
,
@UserNames
,
@CurrentPos
)
/**/
/*
CHARINDEX 返回字符串中指定表达式的起始位置
返回@UserNames中从@CurrentPos开始 N',' 的起始位置
*/
IF
(
@NextPos
=
0
OR
@NextPos
IS
NULL
)
SELECT
@NextPos
=
LEN
(
@UserNames
)
+
1
SELECT
@UserName
=
SUBSTRING
(
@UserNames
,
@CurrentPos
,
@NextPos
-
@CurrentPos
)
SELECT
@CurrentPos
=
@NextPos
+
1
/**/
/*
SUBSTRING 返回字符、binary、text 或 image 表达式的一部分。
上面即返回@UserNames中开始位置为@CurrentPos,长度为@NextPos - @CurrentPos的部分
*/
--
--------------------上面这部分有点不明白为什么要这样-----------
IF
(
LEN
(
@UserName
)
>
0
)
BEGIN
SELECT
@DeletedUser
=
0
--
---------------调用存储过程aspnet_Users_DeleteUser(最好看下这个存储过程先),输出参数为@DeletedUser----------
EXEC
dbo.aspnet_Users_DeleteUser
@ApplicationName
,
@UserName
,
4
,
@DeletedUser
OUTPUT
IF
(
@@ERROR
<>
0
)
--
如果存储过程执行有错误,则跳转到回滚
BEGIN
SET
@ErrorCode
=
-
1
GOTO
Cleanup
END
IF
(
@DeletedUser
<>
0
)
--
如果存储过程的输出参数不为0,即成功了,则@NumDeleted递增1
SELECT
@NumDeleted
=
@NumDeleted
+
1
END
END
SELECT
@NumDeleted
--
-查询 NumDeleted
IF
(
@TranStarted
=
1
)
--
-事务运行到此
BEGIN
SET
@TranStarted
=
0
COMMIT
TRANSACTION
--
-结束事务
END
SET
@TranStarted
=
0
RETURN
0
Cleanup:
IF
(
@TranStarted
=
1
)
BEGIN
SET
@TranStarted
=
0
ROLLBACK
TRANSACTION
END
RETURN
@ErrorCode
END
查看全文
相关阅读:
Excel公式进阶教程
Excel公式初级教程
一阶常系数线性差分方程通解求法
博客园为代码块添加复制功能
MFC分割窗口(CSplitterWnd)与选项卡视图(CTabView)的混合使用
自制软件改变窗口大小
conda的基本使用
安装GPU驱动
更换conda源、安装pytorch
服务器安装anaconda
原文地址:https://www.cnblogs.com/ruanbl/p/491062.html
最新文章
java代码实现Modubs从站服务端
Java调用海康SDK读取图像
Ubuntu Nginx配置及优化
SpringBoot 集成zuul路由
人类认知相对论
人类文明进化论
人类文明进化论
2021微信公开课张小龙分享
docker:删除镜像失败出现error报错
git修改本地分支或者远程分支名
热门文章
浅谈:Redis持久化机制(二)AOF篇
浅谈,seata在使用feign-url通过域名调用时分布式事务不生效的问题及解决
浅谈:Redis持久化机制(一)RDB篇
闭关修炼180天----吐血整理MongoDB的学习笔记
闭关修炼180天----手写迷你版的tomcat-Minicat
杭州生鲜配送管理系统_关于生鲜配送行业销售订单的客户反馈的若干思考与软件功能的反思。——接地气的配送系统,15年的软件生鲜电商、快销品行业经验,升鲜宝创始人余东升_15382353715
杭州生鲜配送管理系统_关于餐饮行业配送价格体系的客户反馈的若干思考与软件功能的反思。——接地气的配送系统,15年的软件生鲜电商、快销品行业经验,升鲜宝创始人余东升_15382353715
生鲜配送管理系统源代码、生鲜配送系统,生鲜供应链源代码_升鲜宝/SaaS生鲜配送管理系统__B端客户订货小程序
水产宝是中国最早利用移动端尝试水产批发市场记账软件之一,亲身调研,实践出来的产品。因为创始人在定位上出现了偏差,导致水产宝还是在免费向市场提供。最终还是没能面向全中国的水产批发市场。升鲜宝_杭州生鲜配送系统_15382353715
关于我
Copyright © 2011-2022 走看看