1:SqlServer简单的操作XML:

ALTER PROCEDURE [dbo].[SP_CRM_FranchiseeRecharge_Money]
@Create_By VARCHAR(),
@xmlStr1 NVARCHAR(MAX) -写在这里面的为 传入的参数
AS
BEGIN as begin后面的为自定义的变量
SET NOCOUNT ON;
DECLARE @xml XML = @xmlStr1; sqlserver操作XML T-SQL提供了以下几个针对XML类型的查询函数:
query(XQuery):利用Xquery查询符合条件的元素集合。
value(XQuery,Type):利用Xquery查询具体元素的值,Type定义值的类型。
exist(XQuery):利用Xquery查询是否存在符合条件的元素。
nodes(XQuery):利用Xquery获得一个结果集。 INSERT INTO qqtest(xmlinfo) xmlinfo 为字符串类型
VALUES(
N'<root>
<person>
<id>F001</id>
<name>F001</name>
<age></age>
</person>
</root>'
) DECLARE @errorCode INT;
DECLARE @errorMsg VARCHAR();
BEGIN TRY
SET @errorCode = ;
SET @errorMsg = '';
DECLARE @xml XML;
SELECT @xml = xmlinfo
FROM dbo.qqtest
WHERE id =; SELECT S.value('id[1]', 'varchar(30)') id,
S.value('name[1]', 'varchar(30)') _Name,
S.value('age[1]', 'varchar(30)') age
FROM @xml.nodes('/root/person') AS A(S); //B(S) 都是没有问题的 @xml.nodes('/root/person') AS A(S) 当做一张表来操作了
SET @errorCode = ;
END TRY
BEGIN CATCH
SET @errorCode = ;
SET @errorMsg = ERROR_MESSAGE();
RAISERROR(N'error:XML文件格式错误:', , ,@errorMsg);
PRINT(@errorMsg)
END CATCH 获取XML数据 ,把XML数据当做一个表格 @xml.nodes('/Root/data') AS T(S); select S.value('ID[1]','int')as ID, S.value('Name[1]','nvarchar(50)')as Name
FROM @xml.nodes('/Root/data') AS T(S); 写入临时表
INSERT INTO #tbCRM_FranchiseeRecharge
(
[Recharge_ID],
[Franchisee_ID],
[Recharge_Credit],
[Recharge_Amount]
)
SELECT DISTINCT
NEWID(),
S.value('Franchisee_ID[1]', 'uniqueidentifier') AS Franchisee_ID,
S.value('Recharge_Credit[1]', 'int') AS Recharge_Credit,
S.value('Recharge_Amount[1]', 'money') AS Recharge_Amount
FROM @xml.nodes('/Root/data') AS T(S);

2:SQl语句简单的 try catch 的统一格式:如下简单的Sql

  string sql = @"BEGIN
SET @insertStateCode = 0;
IF NOT EXISTS
(
SELECT TOP 1
*
FROM tbCRM_Franchisee_Credit_History
WHERE Seq =@rechangeID
)
BEGIN TRY
BEGIN TRAN mytran;
INSERT INTO tbCRM_Franchisee_Credit_History
(
[Seq],
[Franchisee_ID],
[Tran_Code],
[Tran_By],
[Tran_Date],
[Credit],
[Amount],
[Remark]
)
SELECT RM.Recharge_ID,
RM.Franchisee_ID,
5,
RM.Create_By,
GETDATE(),
RM.Recharge_Credit,
RM.Recharge_Amount,
RM.Remark
FROM tbCRM_Franchisee_Recharge_Master RM
WHERE RM.Recharge_ID = @rechangeID;
UPDATE tbCRM_Franchisee_Recharge_Master
SET Approve_By = 1
WHERE Recharge_ID =@rechangeID;
SELECT @insertStateCode =200;
COMMIT TRAN mytran;
END TRY
BEGIN CATCH
SELECT @insertStateCode = 500;
ROLLBACK TRAN mytran;
END CATCH;
END;"; 其实就是简单如下:
BEGIN TRY
BEGIN TRAN mytran;
END TRY
BEGIN CATCH
SELECT @insertStateCode = 500;
ROLLBACK TRAN mytran;
END CATCH;

SqlServer简单的操作XML以及SQl的 try catch等统一格式的更多相关文章

  1. 浅析SqlServer简单参数化模式下对sql语句自动参数化处理以及执行计划重用

    我们知道,SqlServer执行sql语句的时候,有一步是对sql进行编译以生成执行计划, 在生成执行计划之前会去缓存中查找执行计划 如果执行计划缓存中有对应的执行计划缓存,那么SqlServer就会 ...

  2. sql server 操作xml例子

    sql server 操作xml例子 /* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xp ...

  3. sqlserver 操作xml

    1.xml.exist    输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 2.xml.value    输入为XQuery表达式,返回一个SQL ...

  4. SQL Server 操作XML数据

    .xml.exist 输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 .xml.value 输入为XQuery表达式,返回一个SQL Server标量 ...

  5. salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)

    salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesforce中的数据库使用的是Force.com 平台的数据库,数据表一行数据可以理解成一个sObject变量 ...

  6. C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  7. 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

  8. ado.net的简单数据库操作(一)

    摘要:接下来的几篇博客将要讲到如何使用ado.net实现简单的数据库操作,包括增删改等内容.首先会介绍基础的数据库操作,然后以一个实例来进行讲解,这个实例会把一个数据表读取到winform上,然后在w ...

  9. WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)

    WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...

随机推荐

  1. Ubuntu 18.04上安装 phpMyAdmin

    我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作. 在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面. 如果没有安装可以参照 U ...

  2. (day47)作业

    一.链式表达式完成菜单栏 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  3. zz扔掉anchor!真正的CenterNet——Objects as Points论文解读

    首发于深度学习那些事 已关注写文章   扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 ​关注他 JustDoIT 等 ...

  4. 用 mongodb + elasticsearch 实现中文检索

      而 elasticsearch 可以很好的支持各种语言的全文检索,但我们暂时又不想切换到 elasticsearch 作为后端数据库. 当然,可以在 web 应用中存储数据的时候,再主动写一份到 ...

  5. javascript专题系列--尾调用和尾递归

    最近在看<冴羽的博客>,讲真,确实受益匪浅,已经看了javascript 深入系列和专题系列的大部分文章,可是现在才想起来做笔记.所以虽然很多以前面试被问得一脸懵逼的问题都被“一语惊醒梦中 ...

  6. [RN] React Native 使用 Redux 比较详细和深刻的教程

    React Native 使用 Redux 比较详细和深刻的教程 React Native 使用 Redux https://www.jianshu.com/p/06fc18cef56a http:/ ...

  7. 【day02】PHP

    一.数据类型(8个主要数据类型和4个伪类型)  1.8个主要数据类型     (1)标量类型(存储单一值)        a.整型(Integer Int)        b.浮点型(Float Do ...

  8. Hello 2019 D 素因子贡献法计算期望 + 概率dp + 滚动数组

    https://codeforces.com/contest/1097/problem/D 题意 给你一个n和k,问n经过k次操作之后留下的n的期望,每次操作n随机变成一个n的因数 题解 概率dp计算 ...

  9. calc()在less中编译报错

    calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分.因为看其外表像个函数,既然是函数为何又出现在CSS中呢? calc() 函数用于动态计算长度值. 需要注意的是,运算符前后都 ...

  10. 2019CCPC网络预选赛 八道签到题题解

    目录 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 6702 & 6703 array 6704 K-th occurrence 6705 path 6706 huntian o ...