(1)DECLARE 两种用法:

1>:

DECLARE @usid VARCHAR(50),@usna NVARCHAR(100),@grna NVARCHAR(100);

2>:

DECLARE @usid VARCHAR(50)

DECLARE @usna NVARCHAR(100)

DECLARE @grna NVARCHAR(100)



(2)select 1 from mytable

select 1 from mytable;(一般是作条件用的)

select anycol(目的表集合中的任意一行) from mytable;

select * from mytable 作用上是没有差别的,都是查看是否有记录。

select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*,

因为不用查字典表。



(3)@@ERROR

返回值类型是:integer

如果前一个 Transact-SQL 语句执行没有错误,则返回 0。

如果前一个语句遇到错误,则返回错误号。

由于 @@ERROR 在每一条语句执行后被清除并且重置,因此应在语句验证后立即查看它,或将其保存到一个局部变量中以备以后查看。



(4)@@ROWCOUNT

返回值类型是:int

@@ROWCOUNT 值设置为受查询影响或由查询读取的行数。例:

select 1 from mytable

if @@rowcount>0

....

(5)SET NOCOUNT

表示受 Transact-SQL 语句影响的行数;

 SET NOCOUNT ON;   不返回计数。

 SET NOCOUNT OFF;     返回计数。

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。



(6)RAISERROR

RAISERROR命令用于在SQL Server系统返回错误信息时同时返回用户指定的信息。

语法:

RAISERROR ( { msg_id | msg_str } { , severity , state }

[ , argument [ ,...n ] ] )

[ WITH option [ ,...n ] ]

参数说明:

   msg_id:存储于sysmessages表中的用户定义的错误信息。用户定义错误信息的错误号应大于50000。由特殊消息产生的错误是第50000号。

   msg_str:是一条特殊消息,其格式与C语言中使用的PRINTF格式样式相似。此错误信息最多可包含400个字符。如果该信息包含的字符超过400个,则只能显示前397个并将添加一个省略号以表示该信息已被截断。所有特定消息的标准消息ID是14000。msg_str支持的格式有% [[flag] [width] [precision] [{h | l}]] type。

   severity:用户定义的与消息关联的严重级别。用户可以使用从0~18之间的严重级别。19~25之间的严重级别只能由sysadmin固定服务器角色成员使用。若要使用19~25之间的严重级别,必须将WITH option设置WTHLOG。

   state :从1~127的任意整数,表示有关错误调用状态的信息。state的值默认为1。

   argument:用于取代在msg_str中定义的变量或取代对应于msg_id的消息的参数。可以有0或更多的替代参数;然而,替代参数的总数不能超过20个。每个替代参数可以是局部变量或这些任意数据类型,如int1、int2、int4、char、varchar、binary或varbinary。不支持其他数据类型。

   WITH option:错误的自定义选项。

就是说,你的这个参数 '系统限制您最低只能打九折' 是报错消息,参数16是严重级别,自定义的严重级别最高是18,19-25的严重级别是非常严重的,不般不会出现。参数1是状态,和参数5一样都没什么用的。

主要的就是第一个参数有用,能一眼看出报的是什么错误信息,第二个参数也有一点用,但是用处不大。

第一种:

RAISERROR('更新失败!',16,-1)

第二种用法:

BEGIN

  RAISERROR(N'%s 的库存不足,目前只有 %d 个,无法满足出库 %d 个的需求!', 16, 1, '内存条', 15, 20);

 END

消息 50000,级别 16,状态 1,服务器 TEST_PC\SQLEXPRESS,第 2 行内存条 的库存不足,目前只有 15 个,无法满足出库 20 个的需求!



BEGIN

SELECT @usna=usna FROM usin WHERE usid=@usid;

SELECT @grna=grna FROM grin WHERE grid=@grid;

RAISERROR('岗位[%s]中已存在用户[%s]',16,-1,@grna,@usna);

RETURN -1

END

版权声明:本文为博主原创文章,未经博主允许不得转载。

Transact-SQL 常用函数 分类: SQL Server 2015-02-03 09:47 284人阅读 评论(0) 收藏的更多相关文章

  1. *** glibc detected *** malloc(): memory corruption 分类: C/C++ Linux 2015-05-14 09:22 37人阅读 评论(0) 收藏

    *** glibc detected *** malloc(): memory corruption: 0x09eab988 *** 发现是由于memset越界写引起的. 在Linux Server上 ...

  2. 哈希-4 Values whose Sum is 0 分类: POJ 哈希 2015-08-07 09:51 3人阅读 评论(0) 收藏

    4 Values whose Sum is 0 Time Limit: 15000MS Memory Limit: 228000K Total Submissions: 17875 Accepted: ...

  3. 哈希-Gold Balanced Lineup 分类: POJ 哈希 2015-08-07 09:04 2人阅读 评论(0) 收藏

    Gold Balanced Lineup Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13215 Accepted: 3873 ...

  4. window.onload,<body onload="function()">, document.onreadystatechange, httpRequest.onreadystatechang 分类: C1_HTML/JS/JQUERY 2014-08-06 16:47 558人阅读 评论(0) 收藏

    部分内容参考:http://www.aspbc.com/tech/showtech.asp?id=1256 在开发的过程中,经常使用window.onload和body onload两种,很少使用do ...

  5. sscanf 函数 分类: POJ 2015-08-04 09:19 4人阅读 评论(0) 收藏

    sscanf 其实很强大 分类: 纯C技术 技术笔记 2010-03-05 16:00 12133人阅读 评论(4) 收藏 举报 正则表达式stringbuffercurlgoogle 最近在做日志分 ...

  6. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  7. Mahout快速入门教程 分类: B10_计算机基础 2015-03-07 16:20 508人阅读 评论(0) 收藏

    Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单 ...

  8. 修改MS SQL忽略大小写 分类: SQL Server 数据库 2015-06-19 09:18 34人阅读 评论(0) 收藏

    第一步:数据库->属性->选项->限制访问:SINGLE_USER 第二步:ALTER DATABASE [数据库名称] collate Chinese_PRC_CI_AI 第三步: ...

  9. 菜鸟学习-C语言函数参数传递详解-结构体与数组 分类: C/C++ Nginx 2015-07-14 10:24 89人阅读 评论(0) 收藏

    C语言中结构体作为函数参数,有两种方式:传值和传址. 1.传值时结构体参数会被拷贝一份,在函数体内修改结构体参数成员的值实际上是修改调用参数的一个临时拷贝的成员的值,这不会影响到调用参数.在这种情况下 ...

随机推荐

  1. Linux 信号量同步编程

    前一篇文章概述了Linux 系统中信号量互斥编程,这篇文章正好是前一篇的姊妹篇----信号量同步.说它们是姊妹篇是因为它们都是利用了内核的信号量机制实现了进程间的通信.因为两者所解决的问题不同,因此它 ...

  2. muduo网络库学习笔记(10):定时器的实现

    传统的Reactor通过控制select和poll的等待时间来实现定时,而现在在Linux中有了timerfd,我们可以用和处理IO事件相同的方式来处理定时,代码的一致性更好. 一.为什么选择time ...

  3. js获取上传文件信息并及时查看

    <form id="picForm" name="picForm"  method="post" enctype="mult ...

  4. Shortcut Collapse project or projects in the Solution Explorer Microsoft Visual Studio 2008

    The standard windows keyboard shortcuts for expanding and collapsing treeviews are: Numeric Keypad * ...

  5. [BZOJ - 2631] tree 【LCT】

    题目链接:BZOJ - 2631 题目分析 LCT,像线段树区间乘,区间加那样打标记. 这道题我调了一下午. 提交之后TLE了,我一直以为是写错了导致了死循环. 于是一直在排查错误.直到.. 直到我看 ...

  6. Html和JS基础

    1.body:bgcolor,background(背景图片),bgproperities=fixed(图片水印),text(正文颜色). 2.hr:水平分割线,正文标题<h?>自动换行了 ...

  7. 自己总结的一些android公共库

    本文主要介绍自己在android开发中总结的一些公共库,目前包括下拉刷新ListView.可以响应各个方向CompoundDrawables点击操作的TextView.图片缓存,不断更新,欢迎交流 ? ...

  8. Long Long Message

    poj2774:http://poj.org/problem?id=2774 题意:求两个串的最长公共子串. 题解:求出后缀数组,然后求height数组,找出最大的值,并且这两个子串在不同的原串中即可 ...

  9. QT变异版本下载(SJLJ长跳转,DWARF不传递错误(32位专用),SEH(64位专用)),以及QT的实验室项目

    http://www.tver-soft.org/ http://sourceforge.net/projects/qt64ng/ ---------------------------------- ...

  10. (转)Mono for Android 优势与劣势

    最近有兴趣了解一下Mono for Andriod,也就是使用.NET平台来开发Andriod程序.Mono for Android API 几乎映射标准的Andriod API.例如,两边API几乎 ...