sql xml 转datatable 存储过程 笔记
来源:互联网 发布:淘宝店铺页头图片 编辑:程序博客网 时间:2024/06/15 20:00
CREATE PROCEDURE P_GetTable_By_XML @XML XML
AS
SELECT S.value('local-name(.)', 'NVARCHAR(20)') AS ColumnName
INTO #tColumns
FROM @XML.nodes('/Root/Schema/*') T ( S )
DECLARE @strXML NVARCHAR(MAX) = 'DECLARE @XML XML = N'''
+ CAST(@XML AS NVARCHAR(MAX)) + ''''
DECLARE @strTableSql NVARCHAR(MAX) = ' DECLARE @tResultTable Table ('
DECLARE @strInsertSql NVARCHAR(MAX) = ' INSERT INTO @tResultTable ('
DECLARE @strSelSql NVARCHAR(MAX) = ' select '
DECLARE @strFromSql NVARCHAR(MAX) = ' FROM @XML.nodes(''/Root/Row'') T(S)'
DECLARE @strSelectSql NVARCHAR(MAX) = 'SELECT * FROM @tResultTable'
SELECT @strTableSql = @strTableSql + '[' + a.ColumnName
+ '] NVARCHAR(max),' ,
@strInsertSql = @strInsertSql + '[' + a.ColumnName + '],' ,
@strSelSql = @strSelSql + 'S.value(' + '''' + '(' + a.ColumnName
+ ')[1]'' , ''NVARCHAR(max)''),'
FROM #tColumns a
SET @strTableSql = LEFT(@strTableSql, LEN(@strTableSql) - 1) + ')'
SET @strInsertSql = LEFT(@strInsertSql, LEN(@strInsertSql) - 1) + ')'
SET @strSelSql = LEFT(@strSelSql, LEN(@strSelSql) - 1)
EXEC(@strXML + @strTableSql + @strInsertSql + @strSelSql + @strFromSql + @strSelectSql)
DROP TABLE #tColumns
GO
- sql xml 转datatable 存储过程 笔记
- SQL 存储过程笔记
- SQL存储过程笔记
- 关于sql存储过程接收参数为datatable
- sql server存储过程笔记
- SQL Server 存储过程解析XML传参
- [转]SQL存储过程
- 存储过程笔记(XML公司)
- C#datatable 存储成xml
- 存储过程传入DataTable参数
- 存储过程参数为DataTable
- DBF转XML,存储过程读取XML
- SQL笔记__分页存储过程
- DB2 SQL存储过程学习笔记
- Sql Server笔记之存储过程
- SQL SERVER 存储过程学习笔记
- DB2 SQL存储过程学习笔记
- SQL SERVER 存储过程学习笔记
- 1 get,post数据长度的限制 2 GET与POST方法的区别
- asp怎么在类里写函数调用数据库读取数据
- oracle的左右连接语句
- 查看oracle连接数
- 去掉集合中重复的元素
- sql xml 转datatable 存储过程 笔记
- 汉字字符串算两个自己,前台和后台计算长度的方法
- sizeof进行结构体大小的判断
- Delphi 接口技术
- Jsp连接数据库小结
- FP增长(发现频繁相集而不产生候选)
- Delphi COM编程技术一(COM编程基础知识)
- ASP.NET中常用的文件上传下载方法
- 《锦绣蓝图—怎样规划令人流连忘返的网站》一书的理解