SQL存储过程中SELECT与SET 对变量赋值的区别
参考:http://gaowenjie7758.blog.163.com/blog/static/5946788920091116244306/
SQL存储过程中SELECT与SET 对变量赋值的区别
SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们并没有注意,其实这两种方式还是有很多差别的。SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。
下表列出 SET 与 SELECT 的区别。请特别注意红色部分。
set
select
同时对多个变量同时赋值
不支持
支持
表达式返回多个值时
出错
本人在2005中测试,也报错
表达式未返回值
变量被赋null值
本人在2005中测试,变量被赋null值
综上所述,set和select的区别在于,select支持同时对多个变量赋值,而set不支持
相关文档:
是用于访问和处理数据库的标准的计算机语言。
通过 SQL 来管理数据
结构化查询语言 (SQL) 是用于访问数据库的标准语言,这些数据库包括 SQL Server、Oracle、MySQL、Sybase 以及 Access 等等。
对于那些希望在数据库中存储数据并从中获取数据的人来说,SQL 的知识是价值无法衡量的。
什么是 SQL?
SQL 指结构化查询语言 ......
1.create database dataname
这是创建数据库最简单的方法.数据库的各个属性都是默认.如数据库文件与日志文件存储目录.数据库大小等.
下面介绍下常用决定数据库属性的子句.
on:简单理解为定义存储数据库文件的位置,看下面代码.
filename:数据库的逻辑别名
size:数据库初始大小
maxsize:数据库初大容量
fil ......
sql 语句按功能分为3类:数据定义语句,数据操作语句,数据控制语句
一:数据定义语句:
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
&n ......
检测死锁
如果发生死锁了,我们怎么去检测具体发生死锁的是哪条SQL语句或存储过程?
这时我们可以使用以下存储过程来检测,就可以查出引起死锁的进程和SQL语句。SQL Server自带的系统存储过程sp_who和sp_lock也可以用来查找阻塞和死锁, 但没有这里介绍的方法好用。
use master
go
create procedure s ......
SQL日期时间不能早于1753年
1.公元元年的第一天,也就是公元1年1月1日,那天是星期六。
2.
现行的公历是格利戈里历法,这个历法并不是连续的,中间缺少了11天。1752年9月2日的后一天并不是9月3日,而是9月14日。也就是说,从1752年9月3日到9月13日的11天并不存在。
&nb ......