博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 存储过程数组参数_问个小问题,关于存储过程传递数组参数
阅读量:6469 次
发布时间:2019-06-23

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

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

ALTER PROCEDURE [dbo].[Proce_Building_Relation_RP]

-- Add the parameters for the stored procedure here

@RID BIGINT, -- 角色id

@XML_Array varchar(500), -- 代表权限的id序列化字符串

@Rowcount INT=0 OUTPUT

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

--SET NOCOUNT ON;

DECLARE @IdHandel INT

CREATE TABLE #temp_insert(RID BIGINT,Nums BIGINT)

CREATE TABLE #temp_delete(RID BIGINT,Nums BIGINT)

EXEC sp_xml_preparedocument @IdHandel OUTPUT, @XML_Array

-- 填充与源数据不重复的数值的表

INSERT INTO #temp_insert(RID,Nums)

SELECT @RID,N.Nums

FROM OPENXML(@IdHandel,'/Array/PA') WITH(Nums BIGINT) AS N

WHERE N.[Nums] IS NOT NULL

AND (Nums not in (select pid from Sys_User_Relation_RP where rid=@RID) )

-- 填充与源数据重复的数值的表

INSERT INTO #temp_delete(RID,Nums)

SELECT @RID,N.Nums

FROM OPENXML(@IdHandel,'/Array/PA') WITH(Nums BIGINT) AS N

WHERE N.[Nums] IS NOT NULL

AND (Nums in (select pid from Sys_User_Relation_RP where rid=@RID) )

-- 向表插入与数组参数不重复的数值

INSERT INTO Sys_User_Relation_RP(rid,pid) SELECT RID,Nums FROM #temp_insert

SET @Rowcount=@@ROWCOUNT

-- 删除表中与数组参数重复的数值

DELETE FROM Sys_User_Relation_RP WHERE rid=@RID and pid in (SELECT Nums FROM #temp_delete WHERE RID=@RID)

SET @Rowcount=@Rowcount+@@ROWCOUNT

EXEC sp_xml_removedocument @IdHandel

--SELECT * FROM #temp_insert

--SELECT * FROM #temp_delete

DROP TABLE #temp_insert

DROP TABLE #temp_delete

END

这是我写的一个MSSQL的存储过程

参数@XML_ARRAY的数据格式是:

''

用openXML解析

想问下如果用mysql解决应该怎么做,如何传递一个序列化字符串然后解析

转载地址:http://ipdko.baihongyu.com/

你可能感兴趣的文章
CKEditor的使用-编辑文本
查看>>
puppet来管理文件和软件包
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
阻塞非阻塞异步同步 io的关系
查看>>
ClickStat业务
查看>>
DMA32映射问题
查看>>
POJ 1269 Intersecting Lines(判断两直线位置关系)
查看>>
MSSQL数据库跨表和跨数据库查询方法简(转)
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
梯度下降(Gradient descent)
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
Android快速开发常用知识点系列目录
查看>>
最容易理解的对卷积(convolution)的解释
查看>>
《机器学习实战》知识点笔记目录
查看>>
完美解决NC502手工sql的查询引擎排序及合计问题
查看>>
PE文件之资源讲解
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
git review报错一例
查看>>