(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. ACM Sdut 2158 Hello World!(数学题,排序) (山东省ACM第一届省赛C题)

    题目描述 We know thatIvan gives Saya three problems to solve (Problem F), and this is the firstproblem. ...

  2. Sizzle引擎执行的流程图

    Sizzle有太多都不是太懂,但能看懂这张图. 图片来源: http://www.cnblogs.com/aaronjs/p/3332805.html

  3. mysql 中执行的 sql 注意字段之间的反向引号和单引号

    如下的数据表 create table `test`( `id` int(11) not null auto_increment primary key, `user` varchar(100) no ...

  4. hibernate面试笔记

    Hibernate使用Java 反射机制 而不是字节码增强程序来实现透明性 如果JDBC代码写的完美,优化做好,那么JDBC效率是最高的.但是,实际开发中非常不现实,对程序员要求太高.一般情况下,hi ...

  5. VPN ,Bypass the FIrewall

    Bypass the China Firewall Methods November 16th, 2012Posted in , Tech With their assortment of techn ...

  6. 我学C的那些年[ch02]:宏,结构体,typedef

    c语言的编译过程: 预处理 编译 汇编 链接 而预处理中有三种情况: 文件包含( #include ) 条件编译(#if,#ifndef,#endif) 宏定义( #define ) 宏就是预处理中的 ...

  7. 【C语言】中的版本规范(C89 C99等)

    C语言中的版本 一.相关基础知识 ISO:国际标准化组织(International Organization for Standardization,ISO)简称ISO,是一个全球性的非政府组织,是 ...

  8. 使用PHP生成二维码的两种方法(带logo图像)

    一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  9. Junit 源码剖析(二)

    junit4 下的所有的testcase都是在Runner下执行的, 可以将Runner理解为junit运行的容器, 默认情况下junit会使用JUnit4ClassRunner作为所有testcas ...

  10. bzoj 1305: [CQOI2009]dance 二分+網絡流判定

    1305: [CQOI2009]dance跳舞 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1340  Solved: 581[Submit][Sta ...