sql 模版
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
alter PROCEDURE CourseProcedure
@C# int,
@Cname nvarchar(50),
@MESSAGE nvarchar(100) output----提示信息(输出参数)
AS
BEGIN
declare @Cnames nvarchar(20),@errmsg nvarchar(100),@sql nvarchar(200) --动态执行sql语句 输出输入参数
set @sql='select @Cnames=Cname from Course where C#=@C#'
exec sp_executesql @sql,N' @Cnames nvarchar(20) out,@C# int',@Cnames out,@C# --exec 执行没有带参数的动态sql
--直接执行sql语句
--exec ('select * from mytable')
--拼接sql语句
--SET @sql = N'SELECT COUNT(*) FROM ' + QUOTENAME(@schemaname) + N'.' + QUOTENAME(@tablename) + N';'
--exec(@sql)
--exec @sql select * into #Course from Course
IF @@ROWCOUNT>0
begin
SELECT * FROM #Course
SELECT @MESSAGE =N'测试信息!'
RETURN
end begin transaction --开始事务
begin try
select * from Course
commit transaction --提交事务
select @MESSAGE='成功'
end try
begin catch
rollback transaction --回滚事务
--返回错误信息
if (ERROR_SEVERITY()<>11)
begin
SELECT @errmsg='错误信息:' + Error_Message() + ' 过程:' + isnull(Error_Procedure(),'未知') + '。 行号:' + convert(varchar
,Error_Line()) + '。';
raiserror(@errmsg, 16, 1);
end
else
begin
SELECT @errmsg=Error_Message();
raiserror(@errmsg, 11, 1);
end
end catch
END
GO --存储过程调用
DECLARE @C# int, @Cname nvarchar(80), @MESSAGE nvarchar(80)
set @C#=1
set @Cname=''
exec CourseProcedure @C#,@Cname,@MESSAGE output
select @MESSAGE
exec CourseProcedure 1,'',''
sql 模版的更多相关文章
- DRDS分布式SQL引擎—执行计划介绍
		
摘要: 本文着重介绍 DRDS 执行计划中各个操作符的含义,以便用户通过查询计划了解 SQL 执行流程,从而有针对性的调优 SQL. DRDS分布式SQL引擎 — 执行计划介绍 前言 数据库系统中,执 ...
 - 面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
		
初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...
 - 关于SqlHelper
		
在 SqlHelper 类中实现的方法包括: ExecuteNonQuery.此方法用于执行不返回任何行或值的命令.这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数. Exec ...
 - 2014年2月份第3周51Aspx源码发布详情
		
NHibernateSample示例源码 2014-2-21 [VS2010]源码描述:NHibernateSample示例源码,利用NHibernate配置数据库相关映射,方便快捷,欢迎感兴趣用户 ...
 - Spring与Ibatis整合入门
		
Ibatis作为一个将java对象与sql中的数据进行映射的工具,可以将一个应用中常用的sql操作抽象为模版,在应用后续与数据库的交互中,将输入sql语句简化为更改一部分参数. ibatis整合到sp ...
 - JDBC&&c3p0、事务、批处理、多线程 于一体的经典秘方QueryRunner
		
目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...
 - 分页功能的实现——Jdbc  &&  JSP
		
@目录 什么是分页 ? 两个子模块功能的问题分析 和 解决方案 有条件查和无条件查询的影响 和 解决方案 项目案例: mysql + commons-dbutils+itcast-tools+Base ...
 - 阿里如何实现海量数据实时分析技术-AnalyticDB
		
导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据.本文由阿里AnalyticDB团队出品,近万字长文,首次深度解读阿里在海量数据实时分析领域的多项 ...
 - 《JavaWeb从入门到改行》JDBC经典秘方QueryRunner
		
目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...
 
随机推荐
- Ubuntu 16.04 LTS 一键安装VNC
			
Ubuntu 16.04 LTS 安装VNC,在百度和谷歌找了很多教程,不是太老,就是说的驴唇不对马嘴,所以忍不住写一些以正视听. Ubuntu 16.04 LTS是最近出的LTS版本系统,估计未来也 ...
 - Day04:函数参数、对象、嵌套、闭包函数和装饰器
			
上节课复习: 1.什么是函数 函数就是具备某一功能的工具 2.为何用函数 1.程序的组织结构和可读性 2.减少代码冗余 3.扩展性强 ...
 - Spring 3.1新特性之三:Spring对声明式缓存的支持
			
一.概述: Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如EHCache 或者 OSCache),而是一个对缓 ...
 - css 中visibility:hidden和display:none有什么区别呢
			
<div style="width:100px;height:100px;background:red;visibility:hidden"></div>/ ...
 - css3 翻起页脚
			
html <div class="demo2"> <img src="images/1.jpg"> </div> css . ...
 - bzoj5093
			
NTT+组合数学 $把每个点分别按度数考虑,由于有标号,可以得出$ $ans=n*2^{(n-1)*(n-2)}*\sum_{i=1}^{n-1}{C(n-1,i)*i^{k}}$ $本质上是求\su ...
 - css属性学习
			
CSS display 属性 display 属性规定元素应该生成的框的类型. none:此元素不会被显示. block:此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被 ...
 - shader之顶点着色器
			
Vertex Shader 是渲染管道中一个可编程的模块,用于处理独立的顶点.Vertex Shader接收Vertex Attribute Data,由定点数组对象通过渲染指令来生成. Vertex ...
 - HDU - 5015 233 Matrix(杨辉三角/前缀+矩阵快速幂)
			
233 Matrix In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23 ...
 - PJzhang:经典子域名爆破工具subdomainsbrute
			
猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...